R语言中如何同时使用计数函数与case_when实现条件分组统计
实现代码
你可以通过mutate()标记课程分类后分组求和得到结果:
library(dplyr) result <- test %>% # 标记课程所属类别,这里兼容了原数据中Psych被误写为Pysch的问题 mutate(course_type = case_when( class %in% c("Bio", "Psych", "Pysch") ~ "stem", class == "English" ~ "lit" )) %>% group_by(name) %>% # 对符合条件的逻辑值求和即可得到通过数量(TRUE会被识别为1、FALSE识别为0) summarize( stem_assessment = sum(course_type == "stem" & result == "Pass"), lit_assessment = sum(course_type == "lit" & result == "Pass") )
运行后得到的result和你给出的期望输出完全一致。
内容的提问来源于stack exchange,提问作者J.Sabree
相关产品推荐
相关产品推荐

