使用自定义ID匹配条件合并R中的数据帧
你好,我需要合并两个数据帧。两个数据帧的相关ID列包含以逗号分隔的ID列表(作为字符串) 例如,应合并这两个数据帧:使用自定义ID匹配条件合并R中的数据帧,r,R,你好,我需要合并两个数据帧。两个数据帧的相关ID列包含以逗号分隔的ID列表(作为字符串) 例如,应合并这两个数据帧: ID value "abc,def,ghi" 5 "jkl" 8 "stu,xyz" 2 ID value "def,xyz" 7 "klm" 6 "opq,stu" 9 如果一个ID列表中的任何一个ID也存在于另一个ID列表中,则我的匹配标准将
ID value
"abc,def,ghi" 5
"jkl" 8
"stu,xyz" 2
ID value
"def,xyz" 7
"klm" 6
"opq,stu" 9
如果一个ID列表中的任何一个ID也存在于另一个ID列表中,则我的匹配标准将为正。
因此,合并的数据帧应该如下所示(对于类似于左连接的合并):
(我的真实数据实际上在数据帧中有多个值列。)
通常对于合并,我会执行以下操作:
merge(data.frame1, data.frame2, by=ID, all.x=TRUE)
在这种情况下,我只合并ID列中字符串完全相等的行
是否可以以某种方式覆盖合并函数中的匹配条件?
或者在R中是否有其他有效的方法来实现相同的目标?请提供一个可重复的示例。您能否根据提供的示例显示预期结果?我改进了示例,希望现在更清楚:-)我不确定您的示例,因为
“def,xyz”
在data.frame1的第一行和第三行显示。除此之外,这似乎对提供的数据集有效,但我不确定真正的indx
merge(data.frame1, data.frame2, by=ID, all.x=TRUE)