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

在R中规范化员工数据:构建经理关系DataFrame

生成经理-下属映射表的R实现方案

针对你的需求,我们可以通过tidyverse工具包快速处理原数据集,生成包含employee_id(下属ID)和manager_id(管理者ID)的经理表。以下是具体步骤:

1. 导入可复现测试数据

首先把你提供的测试数据加载到R环境中:

test <- structure(list(first_name = c("Carrol", "Scott", "Michael", "Mary", 
"Jane", "Alex"), last_name = c("Dhin", "Peters", "Scott", "Smith", 
"Johnson", "Barter"), employee_id = c(412153L, 534253L, 643645L, 
765453L, 627234L, 174543L), email = c("carrol.dhin@company.com", 
"scott.peters@company.com", "michael.scott@company.com", "mary.smith@company.com", 
"jane.johnson@company.com", "alex.barter@company.com"), managing = c("174543", 
"", "", "", "534253, 643645", ""), department = c("Accounting", 
"Sales", "Sales", "Marketing", "Sales", "Accounting"), department_budget = c(500000L, 
1100000L, 1100000L, 750000L, 1100000L, 500000L), serial_number = c("KX6234", 
"FS5235", "LP5242", "GK6246", "KX6902", "BN7451"), manufacturer = c("Lenovo", 
"Lenovo", "Lenovo", "Lenovo", "Lenovo", "Lenovo"), model = c("X1 Gen 10", 
"T14s", "P1", "X1 Gen 10", "T15", "T14s"), date_assigned = c(44576L, 
44471L, 44341L, 44681L, 44606L, 44378L), installed_software = c("MS Office, Adobe Acrobat, Slack", 
"MS Office", "Mathcad, Adobe Acrobat", "", "MS Office, Slack", 
"Google Chrome")), class = "data.frame", row.names = c(NA, -6L
))

2. 数据处理步骤(使用tidyverse)

通过以下代码过滤、拆分、整理数据,得到目标经理表:

# 若未安装tidyverse,先执行安装:install.packages("tidyverse")
library(tidyverse)

manager_table <- test %>%
  # 筛选出有下属的管理者(排除managing列为空的行)
  filter(managing != "") %>%
  # 将多个下属ID拆分为单独行
  separate_rows(managing, sep = ", ") %>%
  # 转换下属ID为数值型,与原employee_id类型统一
  mutate(employee_id = as.integer(managing)) %>%
  # 保留需要的列,将管理者的ID重命名为manager_id
  select(employee_id, manager_id = employee_id.x) %>%
  # 确保manager_id为整数型
  mutate(manager_id = as.integer(manager_id))

3. 查看最终结果

运行代码后,manager_table即为符合要求的经理表:

print(manager_table)
#   employee_id manager_id
# 1      174543     412153
# 2      534253     627234
# 3      643645     627234

结果对应关系:

  • Carrol(ID:412153)管理Alex(ID:174543)
  • Jane(ID:627234)管理Scott(ID:534253)和Michael(ID:643645)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:45:47