从列表列表中更快地绑定数据帧的方法
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)
我有一个 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)