合并两个相同/不同名称的数据框

时间:2019-10-10 17:31:36

标签: r

我有2个数据框,我试图不仅将具有通用名称的数据框,而且将具有不同变量名称的数据框组合在一起,并告知NA(如果找不到相应的值)。

我尝试了正常的rbind,但它要求输入相同的列名。

数据帧:

d1 <- data.frame(a=c('a1','a2','a3'), b = c("a51","a52","a53"), d = c(12,13,14))

d2 <- data.frame(a=c('a4','a5','a6'), g = c("a151","a152","a153"), k = c(122,123,124))

预期输出:

   a    b  d    g   k
1 a1  a51 12 <NA>  NA
2 a2  a52 13 <NA>  NA
3 a3  a53 14 <NA>  NA
4 a4 <NA> NA a151 122
5 a5 <NA> NA a152 123
6 a6 <NA> NA a153 124

1 个答案:

答案 0 :(得分:1)

这里是bind_rows

的一个选项
library(dplyr)
bind_rows(d1, d2)
#  a    b  d    g   k
#1 a1  a51 12 <NA>  NA
#2 a2  a52 13 <NA>  NA
#3 a3  a53 14 <NA>  NA
#4 a4 <NA> NA a151 122
#5 a5 <NA> NA a152 123
#6 a6 <NA> NA a153 124

或使用rbindlist

library(data.table)
rbindlist(list(d1, d2))