r - 将大列表转换为数据框的快速方法

标签 r performance list dataframe

这个问题在这里已经有了答案:





Most efficient list to data.frame method?

(2 个回答)


8年前关闭。




我有一个巨大的列表(700 个元素),每个元素都是一个长度为 16,000 的向量。
我正在寻找一种以以下方式将列表转换为数据框的有效方法(这只是一个模拟示例):

lst <- list(a = c(1,2,3), b = c(4,5,6), c = c(7,8,9))

我正在寻找的最终结果是:
 #  [,1] [,2] [,3]
 #a    1    2    3
 #b    4    5    6
 #c    7    8    9

这是我尝试过的,但没有如我所愿:
library(data.table)
result = rbindlist(Map(as.data.frame, lst))

有什么建议吗?请记住,我的真实示例具有很大的尺寸,我需要一种相当有效的方法来执行此操作。

非常感谢!

最佳答案

尝试这个。我们假设 L 的分量所有长度相同,n ,我们也假设没有行名:

L <- list(a = 1:4, b = 4:1) # test input

n <- length(L[[1]])
DF <- structure(L, row.names = c(NA, -n), class = "data.frame")

关于r - 将大列表转换为数据框的快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18747800/

相关文章:

r - 快速、高效地循环数百万行并匹配列

python - 检查是否从R安装了Python

c# - 存储具有相应索引的对象的最有效方法

html - 在水平滚动的父 div 中将 div 显示为列表项

r - 如何更改 kableExtra 上的 strip 颜色

r - 如何从 r 中的多个列表 append 到列表?

sql-server - SQL Server并发访问

c++ - boost 短字符串的轻量级

linux - 与 cat 相比,Bash while read 循环非常慢,为什么?

python - 如何将列表拆分为大小相等的 block ?