R Markdown:将合并的横截面数据转换为面板数据集

时间:2018-12-04 20:39:46

标签: r panel-data

我目前正在尝试将横截面数据集转换为面板数据集。 目前,我有一个名为“ state”的变量和一个名为“ year”的变量。我想重新排列观察值,以便分别在每个州/年显示它们,并且数字分别显示每个州/年其他变量(例如收入)的平均值。 有人知道我该如何进行吗?

非常感谢您!

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题。下面的代码应该有所帮助。添加一些较小的示例数据集以及所需的输出有助于解决问题。

此答案使用dplyr软件包

library(dplyr)

示例数据:

data <- tibble(state = c("florida", "florida", "florida", 
                      "new_york", "new_york", "new_york"),
               year = c(1990, 1990, 1992, 1992, 1992, 1994), 
               income = c(19, 13, 45, 34, 66, 34))

产生:

# A tibble: 6 x 3
  state     year income
  <chr>    <dbl>  <dbl>
1 florida   1990     19
2 florida   1990     13
3 florida   1992     45
4 new_york  1992     34
5 new_york  1992     66
6 new_york  1994     34

用于汇总数据的代码(使用dplyr软件包)

data %>%
  group_by(state, year) %>%
  summarise(
    mean_income = mean(income)
  )

产生此输出:

# A tibble: 4 x 3
# Groups:   state [?]
  state     year mean_income
  <chr>    <dbl>       <dbl>
1 florida   1990          16
2 florida   1992          45
3 new_york  1992          50
4 new_york  1994          34