使用dplyr按中文书写类型分组汇总学生数时分组不生效如何解决
问题原因
group_by() 函数的作用仅为数据集添加分组标记,本身不会执行任何聚合计算。你编写的代码缺少分组后的汇总步骤,因此只会返回过滤缺失值、排序后的原始行数据,不会生成合并后的分组统计结果。
修正后的实现代码
library(dplyr) school %>% # 剔除关键字段的缺失值,避免无效分组和统计 filter(!is.na(Chinese_Written), !is.na(Students)) %>% group_by(Chinese_Written) %>% # 分组求和得到对应分类的总学生数,汇总后自动解除分组 summarise(total_students = sum(Students), .groups = "drop") %>% # 按书写类型排序输出 arrange(Chinese_Written)
输出说明
运行代码后会得到3行汇总结果,分别对应Both、Simplified、Traditional三类的学生总人数,和你的需求完全匹配。
内容的提问来源于stack exchange,提问作者Shawn Hemelstrand
相关产品推荐
相关产品推荐

