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