关于 dplyr 包中的 r:summarise 与 summarise_each 函数 | 珊瑚贝

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/

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?