【发布时间】:2021-05-09 05:26:42
【问题描述】:
所以我正在努力将我的数据转换为面板数据表单,以便我可以开始分析它。到目前为止,我已经导入并合并了我的 excel 文件,所以我的数据看起来像这样(请记住,真实数据有更多的行和更多的变量)
Company Name Date Market Share ...5.x ...6.x ...7.x ...8.x
<chr> <dttm> <chr> <chr> <chr> <chr> <chr>
1 NA NA FY0 FY-1 FY-2 FY-3 FY-4
2 Kimball Elect 2020-06-29 23:00:00 4020 4422 4232 4111 4003
3 Mercadolibre 2019-12-31 00:00:00 8357 2843 2653 2222 2134
4 Lazard Ltd 2019-12-31 00:00:00 47700 45061 45050 43280 42281
如您所见,第 1 行用于指定市场份额变量的时间滞后,其中 FY0 等于日期列中的日期,然后 FY-1 是前一年,FY-2 是两个几年前等。在原始的 excel 文件中,市场份额列是多索引的,因此所有滞后都与市场份额列相关联,但是当导入到 R 时,只有 FY0 仍然与市场份额列相关联,所有其他列都是自动填充 '...5.x ...6.x ...7.x ...8.x'。
我基本上想将我的数据转换为如下所示:
Company Name Date Market Share
1 Kimball Elect 2020 4020
2 Kimball Elect 2019 4422
3 Kimball Elect 2018 4232
4 Kimball Elect 2017 4111
5 Kimball Elect 2016 4003
6 Mercadolibre 2019 8357
7 Mercadolibre 2018 2843
8 Mercadolibre 2017 2653
9 Mercadolibre 2016 2222
10 Mercadolibre 2015 2134
11 Lazard Ltd 2019 47700
12 Lazard Ltd 2018 45061
13 Lazard Ltd 2017 45050
14 Lazard Ltd 2016 43280
15 Lazard Ltd 2015 42281
所以基本上我想以一种使时间滞后成行的方式转置数据,然后将每个滞后(FY0、FY-1、FY-2...' 与由日期列确定的日期/年份相关联减去滞后,即 FY0 = 2020-06-29 所以 FY-1 = 2019-06-29。
提前感谢任何能够提供帮助的人,因为我觉得这在 R 中非常棘手!
【问题讨论】:
标签: r dataframe tidyverse transpose panel-data