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

如何在多个R数据框中识别共有居住州及对应人员?

解决方法

要找出两个及以上人员共同居住的州及对应人员,你需要先整合所有数据,再按州统计关联的人员——原代码只计算了三个人都住过的州交集,因此只能得到MN。具体实现步骤如下:

步骤1:整合所有人员的地址数据

先给每个数据框添加人员ID列,再合并成统一的数据框:

# 为每个数据框添加人员标识列
Anna$Person <- "Anna"
Yusuf$Person <- "Yusuf"
Robin$Person <- "Robin"

# 合并所有地址数据
all_data <- rbind(Anna, Yusuf, Robin)

步骤2:去重并按州统计关联人员

同一个人可能多次居住在同一州,先保留「人员-州」的唯一组合,再按州分组提取对应的人员列表:

# 去重:保留每个人员对应每个州的唯一记录
unique_state_person <- unique(all_data[, c("Person", "state")])

# 按州分组,收集关联人员并统计人数
state_shared <- aggregate(Person ~ state, data = unique_state_person, 
                          FUN = function(x) list(x))
state_shared$count <- sapply(state_shared$Person, length)

步骤3:筛选出2人及以上共享的州

# 筛选人员数量≥2的州记录
result <- state_shared[state_shared$count >= 2, ]

# 查看最终结果
print(result)

运行后会得到如下输出:

state        Person count
2    NY    Anna, Robin     2
3    MN Anna, Yusuf, Robin     3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 12:45:55