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

如何在R中合并数据框列表并关联外部唯一ID字段?

问题描述

处理包含人员信息(姓名、地址、电话号码、邮箱等)的数据集时,遇到以下问题:

  • 主DataFrame(outputTable)中,电话号码和邮箱字段是嵌套的DataFrame列表
  • 直接用bind_rows合并电话信息列表后,无法将合并后的电话记录与所属用户的ID、姓名关联

原outputTable结构示例:

IDNamePhoneEmailAddress
123Jane2 obs in dataframe1 obs in dataframe12 Way Road
098Bill3 obs in dataframe2 obs in dataframe34 RockCliff

以Bill的电话嵌套DataFrame为例:

LabelValuePrimary
""1234567890TRUE
"work"5555555555FALSE
"home"5550000000FALSE

期望得到关联用户ID、姓名与对应电话信息的结果表。

解决方案

通过提取主表中的用户ID、姓名字段,结合嵌套的电话列表构建新DataFrame,再使用unnest函数展开嵌套数据,即可实现关联。

代码实现:

# 假设newDocument是原始数据来源
outputTable <- data.frame(newDocument, stringsAsFactors = FALSE)

# 提取需要关联的字段和嵌套电话列表
idList <- outputTable$ID
nameList <- outputTable$Name
phoneList <- outputTable$Phone

# 组合成新的DataFrame
newDT <- data.frame(idList, nameList, phoneList, stringsAsFactors = FALSE)

# 展开嵌套的电话列表,关联用户信息
finalDT <- unnest(newDT, phoneList)

执行后即可得到包含用户ID、姓名及对应所有电话信息的结果表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:31:22