2017-05-03 110 views
0

我有两个不同的表:如何通过不同的列名称合并两个数据?

表1:

#  id1 value price sales 
# 1: c001 100 500 20 
# 2: c002 200 200 30 
# 3: c003 300 400 15 

表2:

#  id2 nr 
# 1: c001 50 
# 2: c002 23  
# 3: c003 41 

现在我尝试ID1和ID2加入表1与表2 ...

full_join <- merge(table1, table2, by.x="id1", by.y="id2", all = TRUE) 

我得到如下结果:

#  id1 value price sales nr 
# 1: c001 100 500 20 50 
# 2: c002 200 200 30 23 
# 3: c003 300 400 15 41 

但我想保留所有列。它应该看起来像:

#  id1 id2 value price sales nr 
# 1: c001 c001 100 500 20 50 
# 2: c002 c002 200 200 30 23 
# 3: c003 c003 300 400 15 41 

有没有人知道如何解决这个问题?

提前致谢!

+2

为什么你想保持id1和id2,因为你确定它们是相同的? – FlorianGD

+0

dplyr连接方法以相同的方式工作。如果你绝对想要这个列像'table2 $ id1 < - table2 $ id2; full_join < - merge(table1,table2,by.x =“id1”,by.y =“id1”,all = TRUE)' – epi99

回答

1

如果你只想合并2个DATAS你可以简单地做:

full_table <- cbind(table1, table2) 

但是,如果你想匹配您的答案是正确的价值观,但我不知道为什么你要保留该列如果值相同。

相关问题