R:合并两个文件
我有两个文件。我想合并其中的文件1和文件2 文件1 文件2 具有相同序号的行位于同一组中。我希望合并这些文件,以便File1中的组(按seqno)中的个人将在File2中找到变量。也就是说,排除组中不在文件1中但在文件2中的个人 用于比较的变量是(var1,var2)和(var4,var5) 输出文件应该是这样的R:合并两个文件,r,R,我有两个文件。我想合并其中的文件1和文件2 文件1 文件2 具有相同序号的行位于同一组中。我希望合并这些文件,以便File1中的组(按seqno)中的个人将在File2中找到变量。也就是说,排除组中不在文件1中但在文件2中的个人 用于比较的变量是(var1,var2)和(var4,var5) 输出文件应该是这样的 seqno var1 var2 var3 seqno var4 var5 var6 7 1 65 2
seqno var1 var2 var3 seqno var4 var5 var6
7 1 65 2 7 1 65 9132
7 3 37 1 7 3 37
7 3 26 1 7 3 26 5162
8 1 50 3 8 1 50
8 3 29 2 8 3 29 1314
8 6 5 1 8 6 5
8 6 4 1 8 6 4
谢谢 这可能是您所需要的
merge(file1, file2, by.x=c(seqno,var1, var2), by.y=by=c(seqno,var3, var4))
我不确定我是否完全理解您想要做什么,因为
seqno
不是唯一的,所以R应该如何知道要与哪些行合并?为什么文件1中的第2行与文件2中的第2行合并,而不是与文件2中的第3行合并?很抱歉造成混淆。每个组的序号都是唯一的。代码将查看3个变量。如果(seqno&var1&var2)与(seqno&var4&var5)相同,则将合并行。
seqno var1 var2 var3 seqno var4 var5 var6
7 1 65 2 7 1 65 9132
7 3 37 1 7 3 37
7 3 26 1 7 3 26 5162
8 1 50 3 8 1 50
8 3 29 2 8 3 29 1314
8 6 5 1 8 6 5
8 6 4 1 8 6 4
merge(file1, file2, by.x=c(seqno,var1, var2), by.y=by=c(seqno,var3, var4))