Tidyverse组的功能可以汇总?

时间:2020-08-04 16:33:52

标签: r dplyr summarize

我注意到当使用带有summary的group_by语句时,我得到一个警告,即“ .groups参数将覆盖重新组合”。我在网上找到了一篇似乎表明不再需要group_by语句的文章-只需包含带有summary的组参数即可。在为学生准备在线教程时,我想弄清楚如何使这项工作有效,并且代码越少越好。但是对我来说,它不起作用。以下是我的Reprex。我只是想获取每种性别的平均年龄

library(tidyverse)

femaledata <- data.frame(age = rnorm(n=5, mean = 29, sd = 4), gender = "female")
maledata <- data.frame(age = rnorm(n=5, mean = 37, sd = 6), gender = "male")
alldata <- bind_rows(femaledata, maledata)

summarydata <- alldata %>%
  summarize(gender, meanage = mean(age))

summarydata数据框应仅包含两行(一行用于女性,一行用于男性),每行的平均年龄。相反,我的数据框看起来像这样:

gender   meanage
female    32.6
female    32.6
female    32.6
female    32.6
female    32.6
male      32.6
male      32.6
male      32.6
male      32.6
male      32.6

我知道group_by语句并不复杂,但是如果我可以摆脱一行代码,那就更好了。

谢谢, 威斯

1 个答案:

答案 0 :(得分:0)

新的.group选项不替换group_by函数。选项是让您设置处理分组的方式。

  • “ drop_last”:删除分组的最后一级。这是1.0.0版之前唯一受支持的选项。
  • “放置”:删除了所有分组级别。
  • “保留”:与.data相同的分组结构。
  • “按行”:每行都是它自己的组。

可以通过将dplyr.summarise.inform设置为false来关闭未设置.group选项时的警告消息。