使用R为指定列合并2个数据帧

时间:2016-10-13 19:49:08

标签: r merge

我有2个文件,我想根据3列将它们合并为一个。 文件1看起来像这样

chr1    10  15  256 123
chr2    20  40  12  1

FIle 2看起来像这样

chr1    10  15  100 90
chr2    20  40  17  23

我的文件没有标题。我想在前3列(2个文件中的坐标是相同的)中组合2个文件并输出类似的结果

chr1    10  15  256 100 
chr2    20  40  12  17

所以基本上前3列是常量,第4和第5列基本上是相应文件的第4列。

我怎样才能在R?

中这样做

我试过这个

file1 <- read.table('rtestfile1.txt', sep="\t",header=F)
file2 <- read.table('rtestfile2.txt', sep="\t",header=F)
total <- merge(file1,file2,by=c(V1,V2,V3))

它给了我一个错误说:

  

fix.by(by.x,x)出错:找不到对象'V1'

1 个答案:

答案 0 :(得分:1)

尝试total <- merge(file1[, 1:4], file2[, 1:4], by = c("V1", "V2", "V3"))

使用[, 1:3],因为不希望每个文件的第四列。 by参数是要合并的文件中相同列的名称。