R 将任意长的数据帧列表简化为单个数据帧

R 将任意长的数据帧列表简化为单个数据帧,r,R,我有一个结构相同的csv文件目录。我正在尝试将它们全部加载到单个data.frame中。目前,我使用lappy()和read.csv()来获取data.frames列表,我正在寻找一种优雅的方法将此列表转换为data.frames,以避免显式循环 mylappy(list.of.file.names,read.csv)的结果可以近似为以下结构: list.of.dfs <- list(data.frame(A=sample(seq(from = 1, to = 10), size = 5)

我有一个结构相同的csv文件目录。我正在尝试将它们全部加载到单个data.frame中。目前,我使用
lappy()
read.csv()
来获取data.frames列表,我正在寻找一种优雅的方法将此列表转换为data.frames,以避免显式循环

my
lappy(list.of.file.names,read.csv)
的结果可以近似为以下结构:

list.of.dfs <- list(data.frame(A=sample(seq(from = 1, to = 10), size = 5),
                               B=sample(seq(from = 1, to = 10), size = 5)), 
                    data.frame(A=sample(seq(from = 1, to = 10), size = 5),
                               B=sample(seq(from = 1, to = 10), size = 5)), 
                    data.frame(A=sample(seq(from = 1, to = 10), size = 5),
                               B=sample(seq(from = 1, to = 10), size = 5))
                    )

list.of.dfs
do.call
是执行此操作的基本方法

do.call(rbind, list.of.dfs)
但是,如果你有很多数据项,那么速度可能会很慢。关于S.O.的其他讨论集中在如何通过使用自定义函数或
data.table
plyr
包来加快速度。例如:


@最近的邮件提到了这一点,但您可能希望使用以下方法来提高速度:

rbindlist(list.of.dfs)

(需要
library(data.table)

do.call(rbind,list.of.dfs)
是的,一旦你知道了
do.call
的功能,这个功能就非常简单了。是的,这是重复的。不知怎么的,我没有找到前面的那个。不好意思地投票结束我自己的问题。
rbindlist(list.of.dfs)