[英]Converting a large list into a data.frame
我试图将13,000个元素的列表转换为数据帧,每个元素是一个nr = 230和ncol = 4的zoo
对象。
我尝试过setattr(mylist, 'class', 'data.frame')
,但它产生了一个巨大的NA矢量。 我也尝试过plyr
包中的quickdf(mylist)
函数,但这也不起作用。
do.call(rbind.data.frame, mylist)
类型方法非常慢,因此在这种情况下不是一个选项。
有关将此类列表转换为数据帧的最有效方法的任何建议吗?
使用data.table包中的rbindlist。
data <- matrix(data = 1, nrow = 230, ncol = 4)
lstData <- rep(list(data), 16000)
library(data.table)
lstData <- Map(as.data.frame, lstData)
dfrData <- rbindlist(lstData)
system.time(dfrData <- rbindlist(lstData))
user system elapsed
0.12 0.03 0.15
我不确定这是否有效,但你可以试试
library(plyr)
ldply(mylist)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.