使用重复条目合并列时出错

时间:2014-06-25 16:59:21

标签: r

我正在尝试合并列但面临一个奇怪的问题。

fix.by(by.y,y)出错:'by'必须指定唯一有效的列

我正在粘贴一个预期结果的例子。

Table.one               
col1    col2    col3    col4    
a   34  76  gdfg    
b   345 56987   fdg 
c   323 5987    dfgd    
a   151 51651   sfg 
b   156 515616  sg  
c   51  5156    gdfg    

Table.two               
col1    col5            
a   12          
b   15          
c   15          
d   12          
e   158         

“想要结果”

col1    col2    col3    col4    col5
a   34  76  gdfg    12
b   345 56987   fdg 15
c   323 5987    dfgd    15
a   151 51651   sfg 12
b   156 515616  sg  15
c   51  5156    gdfg    15

我使用了y<-merge(Table.one,Table.two,by="col1",all.x=T)

但不起作用。有人有补救措施吗?

1 个答案:

答案 0 :(得分:0)

我使用merge获得“想要结果”中显示的结果。 使用join来保留行的顺序。

library(plyr)
 join(tb1,tb2, by="col1")
 col1 col2   col3 col4 col5
 1    a   34     76 gdfg   12
 2    b  345  56987  fdg   15
 3    c  323   5987 dfgd   15
 4    a  151  51651  sfg   12
 5    b  156 515616   sg   15
 6    c   51   5156 gdfg   15