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

如何使用R从8份会议参会名单中筛选出席至少7次会议的人员

实现思路
  • 先将8份参会名单统一导入R,每份仅保留姓名(若有重名风险可补充手机号、单位等唯一标识列),提前统一姓名格式避免同一人因写法差异被识别为不同条目
  • 给每份名单新增会议标识列,将所有名单合并为总表
  • 按姓名分组,统计每个姓名对应的唯一会议标识数量,即参会总场次
  • 筛选出参会场次≥7的条目即为目标结果
代码示例
# 依赖包安装,已安装可跳过
# install.packages("tidyverse")
# 若读Excel文件可额外安装:install.packages("readxl")
library(tidyverse)

# 假设所有参会名单放在同级目录conf_list文件夹下,命名格式为conf_1.csv到conf_8.csv
file_path <- list.files(path = "conf_list", pattern = "conf_\\d+\\.csv", full.names = TRUE)

# 批量读入所有名单并合并
total_df <- map_dfr(file_path, function(x){
  # 读入单份名单,提取姓名列,新增会议ID列
  read_csv(x, col_select = name) %>% 
    mutate(conf_id = str_extract(x, "conf_(\\d+)") %>% str_remove("conf_"))
})

# 姓名标准化:统一转小写、去除多余空格、删除特殊符号,避免格式差异导致统计错误
total_df <- total_df %>% 
  mutate(name = str_to_lower(name) %>% 
           str_squish() %>% 
           str_remove_all("[^a-zA-Z0-9\\u4e00-\\u9fa5]"))

# 统计每人参会次数
attend_stat <- total_df %>% 
  group_by(name) %>% 
  summarise(attend_count = n_distinct(conf_id), .groups = "drop")

# 筛选至少参加7场的人员
target_people <- attend_stat %>% 
  filter(attend_count >= 7)

# 查看结果
print(target_people)
# 导出结果到本地:write_csv(target_people, "high_attendance_people.csv")
注意事项
  • 如果你的名单是Excel格式,将代码中的read_csv替换为readxl::read_excel,同步调整文件匹配的后缀规则即可
  • 存在重名情况时,建议给姓名补充单位、工号等唯一标识后再做分组统计,避免结果误差
  • 若有参会者存在多套姓名写法(比如中文名的全称/简称、英文名的全称/昵称),可提前做姓名映射表统一替换后再执行统计

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:36:05