合并两个与列无关的表

时间:2018-10-18 17:16:42

标签: r rstudio

我想合并两个与列无关的表。

这是示例:

表A:

enter image description here

表B:

enter image description here

想法是合并表,为两个表中的每一行创建一行,并为我们没有信息的列分配“ NA”。 这将是结果示例:

enter image description here

我尝试过使用 merge(),但在这种情况下,我只会得到一行(带有值)而不是两行。

想法是合并具有很多列和很多行的两个表,我该怎么做?

3 个答案:

答案 0 :(得分:2)

df.1[, colnames(df.2)] <- NA
df.2[, colnames(df.1)[1:2]] <- NA

rbind(df.1, df.2)
  Gender Age Id Group
1      0  27 NA    NA
2     NA  NA  1     0

样本数据

df.1 <- data.frame(Gender = 0, Age = 27)
df.2 <- data.frame(Id = 1, Group = 0)

答案 1 :(得分:1)

使用bind_rows

可以更轻松地完成此操作
library(dplyr)
bind_rows(A, B)
#   Gender Age id Group
#1      0  27 NA    NA
#2     NA  NA  1     0

数据

A <- data.frame(Gender = 0, Age =27)
B <- data.frame(id = 1, Group = 0)

答案 2 :(得分:1)

rbind.fill()中的

plyr应该也可以正常工作。它按行合并数据帧,并用NA填充缺少的列。试试:

library(plyr)
rbind.fill(df1, df2)
  Gender Age ID Group
1      0  27 NA    NA
2     NA  NA  1     0

如果您有矩阵,请使用rbind.fill.matrix()