我正在尝试合并一组不相等的data.frames;显而易见的 do.call(rbind, df.lst)
失败但真正的问题是用 NA
填充它 .
df.lst <- list(A=data.frame(a=c(1,2),b=c(5,4),d=c(2,3),e=c(1,1),f=c(1,2),g=c(1,2)),
B=data.frame(a=c(1,2),b=c(3,2),d=c(2,3)),
C=data.frame(a=c(1,2),b=c(4,3),d=c(1,2),e=c(1,3))
)
我可以看到我需要在最长的data.frame中找到最大列数;我可以使用以下代码执行此操作,
max(sapply(df.lst,ncol))
但在那之后我被困住了 . 建议可以对列表进行索引,并使用 NA
自动填充它 .
一旦我有了填充列表,我预计会有一个简单的 do.call()
,如前所述 . (我似乎找到了这个精确答案的答案) .
3 回答
如果你想坚持使用基础R,你可以这样做:
我们可以用
要么
尝试
如果需要,您可以删除第一列: