Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用自定义ID匹配条件合并R中的数据帧_R - Fatal编程技术网

使用自定义ID匹配条件合并R中的数据帧

使用自定义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列包含以逗号分隔的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)