【发布时间】:2018-08-10 20:14:11
【问题描述】:
当使用summarise 和group_by 计算任何统计数据时,我们只会得到每个类别的汇总统计数据,而不是所有总体(总计)的值。如何获得两者?
我正在寻找干净而简短的东西。到现在我只能想到:
bind_rows(
iris %>% group_by(Species) %>% summarise(
"Mean" = mean(Sepal.Width),
"Median" = median(Sepal.Width),
"sd" = sd(Sepal.Width),
"p10" = quantile(Sepal.Width, probs = 0.1))
,
iris %>% summarise(
"Mean" = mean(Sepal.Width),
"Median" = median(Sepal.Width),
"sd" = sd(Sepal.Width),
"p10" = quantile(Sepal.Width, probs = 0.1)) %>%
mutate(Species = "Total")
)
但我想要更紧凑的东西。特别是,我不想输入代码(汇总)两次,每组一次,总数一次。
【问题讨论】:
-
我知道这是呈现一些信息的常用方法,但通常它是一种糟糕的存储信息的方法,因为第四行是第 1-3 行的“非常不同的野兽”。我只是想把这个警告放在那里......
-
我相信你的代码只计算每个平均值一次;您的意思是您不想输入两次代码,每组一次,总数一次?
-
@DanY:同意,非常感谢你的机智和认识到不同的人和环境有不同的需求,这是一个很好的例子,说明如何在 SO 上保持友好。
-
是的@Aaron。谢谢。将进行编辑以反映您的评论。
-
标题用词不当,真的是“如何同时计算整个未分组数据集的汇总统计数据,并连接总数”
标签: r dplyr split-apply-combine