【发布时间】:2019-01-24 17:26:43
【问题描述】:
在下面的虚拟数据集中,我想创建一个汇总表,对三个变量进行分组。到目前为止,我使用了dplyr。
但是,我希望将 r 的值作为列名,将 x1 和 x2 值作为行名,并用来自 m 的值填充相应的单元格。
有什么解决办法?
r <- rep(seq(1,10,1),10)
x1 <- rbinom(100, 1, 0.5)
x2 <- rbinom(100, 2, 0.5)
y <- rnorm(100, 10, 5)
df <- data.frame(r,x1,x2,y)
library(dplyr)
View(df %>%
group_by(x1,x2,r) %>%
summarise(m = mean(y))
)
【问题讨论】:
-
试试
library(tidyverse);df %>% group_by(r, x1, x2) %>% summarise(m = mean(y)) %>% spread(r, m) %>% unite(x, x1, x2) %>% column_to_rownames('x')
标签: r dplyr grouping summarization