使用R组合多个data.frames

时间:2011-08-03 09:54:10

标签: r merge

我有几个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)

1 个答案:

答案 0 :(得分:8)

除非您的文件全部排序完全相同,否则您需要使用merge

dat <- merge(data,data2,by="A")
dat <- merge(dat,data3,by="A")

这应该会自动阻止您拥有多个A,因为merge知道它们都是键/索引列。您可能希望在合并之前重命名重复的B和C.