【发布时间】:2021-11-21 18:35:38
【问题描述】:
注意:此问题的标题已被编辑,使其成为plyr 函数掩盖其dplyr 对应项时的问题的规范问题。其余问题保持不变。
假设我有以下数据:
dfx <- data.frame(
group = c(rep('A', 8), rep('B', 15), rep('C', 6)),
sex = sample(c("M", "F"), size = 29, replace = TRUE),
age = runif(n = 29, min = 18, max = 54)
)
有了旧的plyr,我可以创建一个小表格,用以下代码汇总我的数据:
require(plyr)
ddply(dfx, .(group, sex), summarize,
mean = round(mean(age), 2),
sd = round(sd(age), 2))
输出如下所示:
group sex mean sd
1 A F 49.68 5.68
2 A M 32.21 6.27
3 B F 31.87 9.80
4 B M 37.54 9.73
5 C F 40.61 15.21
6 C M 36.33 11.33
我正在尝试将我的代码移动到 dplyr 和 %>% 运算符。我的代码采用 DF,然后按组和性别对其进行分组,然后对其进行总结。那就是:
dfx %>% group_by(group, sex) %>%
summarise(mean = round(mean(age), 2), sd = round(sd(age), 2))
但我的输出是:
mean sd
1 35.56 9.92
我做错了什么?
【问题讨论】: