以下是示例数据框的示例
data.frame1
col1 col2 col3 col4
1 2 3 4
2 3 4 4
data.frame2
col5 col6 col7 col8
1 2 3 4
3 3 5 9
data.frame3
col9 col10 col11
1 2 3
期望的输出 data.frame.append
col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11
1 2 3 4 NA NA NA NA NA NA NA
2 3 4 4 NA NA NA NA NA NA NA
NA NA NA NA 1 2 3 4 NA NA NA
NA NA NA NA 3 3 5 9 NA NA NA
NA NA NA NA NA NA NA NA 1 2 3
这样做的最有效方法是扩展到动态创建的任意数量的数据帧。
提前谢谢你。
编辑:
谢谢大家;效率是您感兴趣的,可以找到简短的讨论here
答案 0 :(得分:5)
更简单的方法是使用plyr::ldply
:
ldply(list(df1, df2, df3))
col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11
1 1 2 3 4 NA NA NA NA NA NA NA
2 2 3 4 4 NA NA NA NA NA NA NA
3 NA NA NA NA 1 2 3 4 NA NA NA
4 NA NA NA NA 3 3 5 9 NA NA NA
5 NA NA NA NA NA NA NA NA 1 2 3
答案 1 :(得分:4)
我们可以使用bind_rows
dplyr
执行此操作
library(dplyr)
bind_rows(df1, df2, df3)
# col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11
#1 1 2 3 4 NA NA NA NA NA NA NA
#2 2 3 4 4 NA NA NA NA NA NA NA
#3 NA NA NA NA 1 2 3 4 NA NA NA
#4 NA NA NA NA 3 3 5 9 NA NA NA
#5 NA NA NA NA NA NA NA NA 1 2 3