You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R合并JobRole列中Admin与Administrative变量并计算均值?

解决方法

要实现合并JobRole中Admin和Administrative为Administrative2,同时统计各角色在现任经理手下的平均任职年限,你需要先统一JobRole的取值,再进行分组汇总。修改后的代码如下:

avg_yrs <- barplot_data %>% 
  # 统一JobRole的取值,合并目标类别
  mutate(JobRole = case_when(
    JobRole %in% c("Admin", "Administrative") ~ "Administrative2",
    TRUE ~ JobRole  # 保留其他原有角色
  )) %>% 
  group_by(Gender, JobRole, Department) %>% 
  summarise(
    averageyrs = mean(YearsWithCurrManager, na.rm = TRUE),
    .groups = "drop"  # 取消分组状态,输出普通数据框
  )

关键细节说明

  • 统一角色取值:用mutate()结合case_when()实现批量替换,这种方式比多次嵌套if_else更清晰,也方便后续扩展其他替换规则
  • 处理缺失值:均值计算时添加na.rm = TRUE,避免数据中存在缺失值时导致结果为NA
  • 兼容低版本dplyr:如果你的dplyr版本低于1.0.0,.groups参数不支持,可以把这一行替换成末尾加ungroup():
avg_yrs <- barplot_data %>% 
  mutate(JobRole = case_when(
    JobRole %in% c("Admin", "Administrative") ~ "Administrative2",
    TRUE ~ JobRole
  )) %>% 
  group_by(Gender, JobRole, Department) %>% 
  summarise(averageyrs = mean(YearsWithCurrManager, na.rm = TRUE)) %>%
  ungroup()

内容的提问来源于stack exchange,提问作者Rsm_242

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:45:32