将R中不同列的多个数据帧连接起来

时间:2018-10-26 08:00:56

标签: r dataframe concatenation match

我有多个数据帧(不同的行和列),我试图将它们连接成一个。它们带有不同数量的列,但名称相同。简单地:

> colnames(data1)
  "A" "B" "C" "D" "E" "F" "G" "H"

> colnames(data2)
  "A" "B" "C" "D"

> colnames(data3)
  "A" "D" "E" "F" "H"

我需要以匹配列名称的方式将所有三个数据帧连接为一个,如果不匹配,只需为该特定列插入“ NA”即可。预先感谢

1 个答案:

答案 0 :(得分:-1)

使用dplyr :: bind_rows:

data1 <- data.frame(a = 1:3)
data2 <- data.frame(a = 4:6, b = 7:9)
data3 <- data.frame(b = 11:13)
dplyr::bind_rows(data1, data2, data3)

#   a  b
#1  1 NA
#2  2 NA
#3  3 NA
#4  4  7
#5  5  8
#6  6  9
#7 NA 11
#8 NA 12
#9 NA 13