我有2个CSV数据集:
文件1:
Identity,Number,Data,Result,RT
5,3,13,45,34
6,1,44,12,56
3,1,67,23,47
0,6,43,55,91
4,5,33,34,29
文件2:
Identity,NB,NB,Result,Data,
1,4,55,92,62
3,7,43,12,74
7,3,58,52,64
0,6,10,22,96
3,8,13,92,22
我想将这两个数据集连接起来,以创建一个数据集,其中文件2的数据在正确的对应列中位于文件1的数据下方。
文件3:
Identity,Number,Data,Result,RT
5,3,13,45,34
6,1,44,12,56
3,1,67,23,47
0,6,43,55,91
4,5,33,34,29
Identity,NB,NB,Result,Data,
1,4,55,92,62
3,7,43,12,74
7,3,58,52,64
0,6,10,22,96
3,8,13,92,22
但是,“数据”和“结果”的列彼此对齐。
N.B。文件1中具有相应数据的列与文件2中具有相同数据的列不对齐。
答案 0 :(得分:0)
如果您的预期输出是R中的对象,则不可能。如果您认为文件3是绑定文件1和2的csv文件,则可以尝试以下操作:
f1 <- read.csv("file1.csv")
f2 <- read.csv("file2.csv")
inter <- intersect(names(f1), names(f2))
diff1 <- names(f1)[! names(f1) %in% inter]
diff2 <- names(f2)[! names(f2) %in% inter]
write.table(f1[c(inter, diff1)], "file3.csv", quote = F, sep = ",", row.names = F)
write.table(f2[c(inter, diff2)], "file3.csv", quote = F, sep = ",", row.names = F, append = T)
# append = T is applicable to write.table, not write.csv.
file3.csv
Identity,Data,Result,Number,RT
5,13,45,3,34
6,44,12,1,56
3,67,23,1,47
0,43,55,6,91
4,33,34,5,29
Identity,Data,Result,NB,NB.1
1,62,92,4,55
3,74,12,7,43
7,64,52,3,58
0,96,22,6,10
3,22,92,8,13
使用Excel打开它: