2014-10-26 78 views
0

我想匹配2个数据框中的2列。例如: 数据帧1:匹配数据帧列

df1 <- data.frame(CODE.1=c(66, 75, 87, 134)) 

数据帧2:

df2 <- data.frame(CODE.2=c(75, 134, 83, 2)) 

输出我想获得:

df3 <- data.frame(CODE.1=c(66, 75, 87, 134, "NA", "NA"), 
        CODE.2=c("NA", 75, "NA", 134, 2, 83)) 

感谢您的帮助

+0

当然,您可以通过搜索找到问题!例如。 [这一个](http://stackoverflow.com/questions/16962576/how-can-i-rbind-vectors-matching-their-column-names)。从那里,有一个使用'gtools'的单线解决方案:'smartbind(df1 $ CODE.1,df2 $ CODE.2)' – Rasmus 2014-10-26 23:51:13

+0

我尝试过搜索但没有成功。非常感谢代码。 – user3262756 2014-10-27 18:51:50

回答

0

你可以使用merge以某种非常规方式:

df3 <- merge(transform(df1, CODE = CODE.1), 
      transform(df2, CODE = CODE.2), 
      all = TRUE) 

# CODE CODE.1 CODE.2 
# 1 2  NA  2 
# 2 66  66  NA 
# 3 75  75  75 
# 4 83  NA  83 
# 5 87  87  NA 
# 6 134 134 134 
相关问题