我正在尝试将包含 13,000 个元素的列表(每个元素都是 nr = 230 和 ncol = 4 的 zoo
对象)转换为数据帧。
我试过 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
关于r - 将大列表转换为 data.frame,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18273623/