r - Tidyverse 组功能用于汇总?
问题描述
我注意到,当使用带有 summarise 的 group_by 语句时,我收到警告说“重新分组正在被 .groups 参数覆盖”。我在网上找到了一篇文章,似乎表明不再需要 group_by 语句——只需在汇总中包含一个 group 参数即可。在为学生准备在线教程时,我想弄清楚如何完成这项工作,并且代码越少越好。但对我来说,它不起作用。下面是我的代表。我只是想得到每个性别的平均年龄
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 语句并不复杂,但如果我能去掉一行代码,那就更好了。
谢谢, 威斯
解决方案
新的 .group 选项不会替换 group_by 函数。该选项是让您设置应该处理分组的方式。
- “drop_last”:删除最后一级分组。这是 1.0.0 版之前唯一受支持的选项。
- “drop”:所有级别的分组都被删除。
- “keep”:与 .data 相同的分组结构。
- “rowwise”:每一行都是它自己的组。
可以通过将 dplyr.summarise.inform 设置为 false 来关闭未设置 .group 选项时的警告消息。
推荐阅读
- ios - 将 UIView 添加到 UITableViewCell 没有显示任何内容
- dynamics-crm - Dynamics 365 CE 转换规则与批量编辑
- android - 移动应用程序是否有能力完全由用户定制?
- swift - 尝试 Alamofire 时找不到迦太基符号
- python - 逻辑回归拟合时显示值错误
- python - 有一种更简单的方法来检测python中的元音吗?
- eclipse - Maven 更新导致 NullPointerException。在哪里可以找到堆栈跟踪/原因?
- android - Flutter:KeyboardType 属性在 TextFormField 中没有按预期工作,仍然可以粘贴文本。如何更改输入类型?(Flutter)
- javascript - 使用 Async/Await 捕获错误
- intellij-idea - 我在解决 IntelliJ 的窗口大小时遇到问题