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()
fromplyr
可以帮助:
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