基于列名绑定数据帧(超过10 ^ 8列)的最有效方法

时间:2018-04-08 15:45:13

标签: r dataframe dplyr plyr

根据列名称对数据帧进行rbind最有效的方法是什么?所有数据框都没有相同的列名,因此我希望在此过程中引入NA值。

以下是我所谈论的可重现的示例,但请记住,每个数据帧的数据帧大小为1行~10 ^ 8列。我有这样的100个数据框列表。

a <- as.data.frame(t(as.data.frame(c(1, 4, 5, 3, 7, 3, 5, 6))))
rownames(a) <- NULL
colnames(a) <- c("AA", "DD", "CD", "KD", "DSF", "DFS", "RF")

b <- as.data.frame(t(as.data.frame(c(4, 7, 3, 2, 7, 3)))
rownames(b) <- NULL
colnames(b) <- c("AA", "DFS", "CD", "UF", "KD", "DD")


c <- as.data.frame(t(as.data.frame(c(2, 4, 7, 3,)))
rownames(c) <- NULL
colnames(c) <- c("AA", "NF", "CD", "UF")

list <- list(a, b, c)

谢谢!

1 个答案:

答案 0 :(得分:2)

我们可以使用bind_rows

library(dplyr)
bind_rows(list)

rbindlist来自data.table

library(data.table)
rbindlist(list, fill = TRUE)