我有几个txt文件,其中每个txt文件包含3列(A,B,C)。
A列对所有txt文件都是通用的。现在我想将txt文件和coulmn A组合在一起,只显示一次,而各个文件的其他列(B和C)。我使用cbind
但是它创建了一个包含A列重复的数据框,我不想要它。 A列必须只重复一次。这是我试过的R代码:
data <- read.delim(file.choose(),header=T)
data2 <- read.delim(file.choose(),header=T)
data3 <- cbind(data1,data2)
write.table(data3,file="sample.txt",sep="\t",col.names=NA)
答案 0 :(得分:8)
除非您的文件全部排序完全相同,否则您需要使用merge
:
dat <- merge(data,data2,by="A")
dat <- merge(dat,data3,by="A")
这应该会自动阻止您拥有多个A,因为merge知道它们都是键/索引列。您可能希望在合并之前重命名重复的B和C.