【问题标题】:summarise vs. summarise_each function in dplyr packagedplyr 包中的 summarise 与 summarise_each 函数
【发布时间】:2015-10-25 15:51:47
【问题描述】:

我正在尝试使用 dplyr 包将数据与 group_by 拆分后总结一个变量的值,以下代码工作正常,输出如下所列,但我不能用 summriase 替换 summarise_each 甚至只有一个列需要计算,不知道为什么?

   iris %>% group_by(Species) %>% select(one_of('Sepal.Length')) %>%
                       summarise_each(funs(mean(.)))

否则我会得到类似“S3:lazy”的输出。

【问题讨论】:

  • 您的预期输出是什么?使用您的代码,我得到 Species.Length 作为第二列名称。这是要更改列名吗?
  • 使用我的代码,我可以根据因子 Species 得到 Sepal.Length 的平均值。
  • 是的,你可以理解,但我不明白问题是什么。

标签: r dplyr


【解决方案1】:

summarize 和 summarize_each 的工作方式完全不同。 summarize 其实更简单——直接指定表达式即可:

iris %>%
    group_by(Species) %>%
    select(Sepal.Length) %>%
    summarize(Sepal.Length = mean(Sepal.Length))

您可以为输出列选择任何名称,它不需要与输入相同。

【讨论】:

  • 注意,动词summary没有funs。
猜你喜欢
  • 2015-10-27
  • 2017-01-07
  • 2014-11-03
  • 2018-04-30
  • 2016-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多