R语言如何使用dplyr快速合并多个count统计结果为一个数据框
R dplyr多维度count结果合并方案
合并失败的核心原因是你生成的3个count结果首列列名不匹配,统一列名后再按行合并即可,以下是两种实现方式:
方式1:基于已生成的3个count结果合并
library(dplyr) # 逐个处理统计结果:添加维度标识列、统一列名 gender_clean <- gender %>% mutate(category = "gender") %>% rename(category_value = gender) place_clean <- place %>% mutate(category = "place") %>% rename(category_value = place) work_clean <- work %>% mutate(category = "work") %>% rename(category_value = work) # 按行合并得到最终结果 result <- bind_rows(gender_clean, place_clean, work_clean)
方式2:更高效的一步生成方案(无需单独统计每个维度)
直接对原始数据做长表转换后统一计数,代码更简洁,也不需要生成中间统计变量:
library(dplyr) library(tidyr) result <- check %>% # 将checkup以外的维度列转为长格式 pivot_longer(cols = -checkup, names_to = "category", values_to = "category_value") %>% # 按维度、维度值、checkup分组计数 count(category, category_value, checkup)
小提示:你示例代码中的
attach(check)没有实际作用,还可能引发全局环境变量名冲突,建议删除。
内容的提问来源于stack exchange,提问作者Railey Shahril
相关产品推荐
相关产品推荐

