R-将列与不同的列垂直合并

R-将列与不同的列垂直合并,r,dataframe,merge,R,Dataframe,Merge,使用如下所示的数据帧 first <- data.frame(x0=1:5, x1=rnorm(5), x2=c("M","F","M","F","F")) second <- data.frame(x0=10:14, x1=rnorm(5),

使用如下所示的数据帧

first <- data.frame(x0=1:5,
                    x1=rnorm(5),
                    x2=c("M","F","M","F","F"))

second <- data.frame(x0=10:14,
                     x1=rnorm(5),
                     x3=c("M","F","M","F","F"))
可能使用了
rbind
函数,但这要求两个数据帧中的列相同。

可能
rbind.fill()
from
plyr
可以帮助:

library(plyr)
#Data
first <- data.frame(x0=1:5,
                    x1=rnorm(5),
                    x2=c("M","F","M","F","F"))

second <- data.frame(x0=10:14,
                     x1=rnorm(5),
                     x3=c("M","F","M","F","F"))
#Join
third <- rbind.fill(first,second)

   x0          x1   x2   x3
1   1  0.42646422    M <NA>
2   2 -0.29507148    F <NA>
3   3  0.89512566    M <NA>
4   4  0.87813349    F <NA>
5   5  0.82158108    F <NA>
6  10  0.68864025 <NA>    M
7  11  0.55391765 <NA>    F
8  12 -0.06191171 <NA>    M
9  13 -0.30596266 <NA>    F
10 14 -0.38047100 <NA>    F
库(plyr)
#资料
第一次
merge(第一次,第二次,all=TRUE)
library(plyr)
#Data
first <- data.frame(x0=1:5,
                    x1=rnorm(5),
                    x2=c("M","F","M","F","F"))

second <- data.frame(x0=10:14,
                     x1=rnorm(5),
                     x3=c("M","F","M","F","F"))
#Join
third <- rbind.fill(first,second)

   x0          x1   x2   x3
1   1  0.42646422    M <NA>
2   2 -0.29507148    F <NA>
3   3  0.89512566    M <NA>
4   4  0.87813349    F <NA>
5   5  0.82158108    F <NA>
6  10  0.68864025 <NA>    M
7  11  0.55391765 <NA>    F
8  12 -0.06191171 <NA>    M
9  13 -0.30596266 <NA>    F
10 14 -0.38047100 <NA>    F