May*_*you 3 performance memory-management r dataframe
我试图将13,000个元素的列表转换zoo为数据帧,每个元素都是nr = 230和ncol = 4 的对象.
我试过了setattr(mylist, 'class', 'data.frame'),但它产生了一个巨大的NA矢量.我也尝试过该包中的quickdf(mylist)功能plyr,但这也无效.
该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
Run Code Online (Sandbox Code Playgroud)