【发布时间】:2017-05-09 18:12:35
【问题描述】:
我正在尝试跨两个变量汇总数据,summary 的输出非常粗大(至少在 r 笔记本输出中,表格跨越多个页面)。我希望将一个变量作为汇总输出的行,将另一个作为列,然后在实际表中显示行和列数据的每种组合的平均值 一些示例数据:
dat1 <- data.frame(
category = rep(c("catA", "catB", "catC"), each=4),
age = sample(1:2,size=4,replace=T),
value = rnorm(12)
)
然后我通常会得到这样的摘要数据框:
dat1 %>% group_by(category,age)%>% summarize(mean(value))
但我的实际数据每个变量都有 10 多个级别,所以表格很长且难以阅读。 我更喜欢这样的东西,我使用以下方法创建:
dat1 %>% group_by(category)
%>% summarize(mean.age1 =mean(value[age==1]),
mean.age2 =mean(value[age==2]))
一定有比手工编码更好的方式吗?
【问题讨论】: