summarise vs. summarise_each function in dplyr package
我正在尝试使用 dplyr 包将数据与 group_by 拆分后总结一个变量的值,以下代码工作正常,输出如下所示,但我不能用 summriase 替换 summarise_each 甚至只有一个列需要计算,不知道为什么?
1
2 |
iris %>% group_by(Species) %>% select(one_of(‘Sepal.Length’)) %>%
summarise_each(funs(mean(.))) |
或者我会得到类似”S3:lazy”的输出。
- 你的预期输出是什么?使用您的代码,我将 Species.Length 作为第二列名称。这是要更改列名吗?
- 使用我的代码,我可以根据因子 Species 获得 Sepal.Length 的平均值。
- 是的,你可以理解,但我不明白问题是什么。
summarize 和 summarize_each 的工作方式完全不同。 summarize 实际上更简单——只需直接指定表达式:
1
2 3 4 |
iris %>%
group_by(Species) %>% select(Sepal.Length) %>% summarize(Sepal.Length = mean(Sepal.Length)) |
您可以为输出列选择任何名称,它不需要与输入相同。
- 注意,动词summary 没有funs。
来源:https://www.codenong.com/33331690/