【发布时间】:2021-04-03 02:19:09
【问题描述】:
我有一个时间序列面板数据集,其结构如下:
df <- data.frame(
year = c(2012L, 2013L, 2014L, 2012L, 2013L, 2014L, 2015L),
id = c(1L, 1L, 1L, 2L, 2L, 2L, 2L),
col1 = c(11L, 13L, 13L, 16L, 15L, 15L, 16L),
col2 = c(10L, 14L, 12L, 13L, 11L, 16L, 17L),
col3 = c(17L, 12L, 12L, 14L, 19L, 21L, 12L),
)
> df
year id col1 col2 col3
1 2012 1 11 10 17
2 2013 1 13 14 12
3 2014 1 13 12 12
4 2012 2 16 13 14
5 2013 2 15 11 19
6 2014 2 15 16 21
7 2015 2 16 17 12
>
我想在每个列对和所有组中生成一个横截面下三角相关乳胶表,但我希望最终表是所有组的平均值,并且还包括 p 统计数据。 这就是我目前使用 dplyr 所拥有的:
library(dplyr)
df %>%
group_by(id) %>%
summarize(COR=cor(col1,col2))
但我想对所有列对都使用它,在我的实际数据集中,我有更多的 id。我想使用 xtable、stargazer 或 Hmisc 生成一个乳胶相关表,该表具有跨组的平均 corr 作为输出,还包括 p 值。我希望我的最终输出看起来像这样:imgur.com/a/7Jwmm8f
【问题讨论】:
-
你能显示预期的输出格式吗
-
有点像这张图:imgur.com/a/7Jwmm8f
-
对于不同的id'值,是否要创建列
-
不,我希望将 id 之间的平均相关性作为最终输出。因此,例如获取 id 1 的 col 1 和 col2 之间的相关性,然后重复 id 2 并报告该对的相关性的最终输出作为 1 和 2 之间的平均值。在我的实际数据集中,我有更多的 id。跨度>
-
请查看下面的更新解决方案。谢谢
标签: r dplyr cross-correlation hmisc