从列表列表中更快地绑定数据帧的方法

Faster way to rbind data frames from a list of lists

我有一个 foreach 循环,returns 一个列表列表。每个子列表都是 3 个数据帧的列表,我想将它们绑定到 3 个不同的数据帧中。现在我是这样做的:

x_final=data.frame
y_final=data.frame()
z_final=data.frame()
for(i in 1:length(big_list))
{
   x=big_list[[i]][1]
   y=big_list[[i]][2]
   z=big_list[[i]][3]
   x_final=rbind(x_final,x)
   y_final=rbind(y_final,y)
   z_final=rbind(z_final,z)
} 

问题是当 big_list 的长度很大时,这个循环会花费很多时间。有没有其他方法可以更快地做到这一点?任何形式的帮助将不胜感激。

一个选项是 transpose big_list 并使用 bind_rows

library(dplyr)
library(purrr)
out_lst <- transpose(big_list) %>% 
                map(bind_rows)