首页 > 解决方案 > 在 R 中以最有效的方式将列表列表转换为数据框

问题描述

我想将列表列表转换为数据框,其中每个名称(listoflists)都是不同的列名。这是一个非常大的列表,所以我想以最有效的方式来做这件事。

listoflists=list(c(1,2,3,4),c(5,6,7,8))
names(listoflists) <- c("col1", "col2")

我该怎么做才能得到以下结果:

 print(df)
 col1     col2
  1        5
  2        6
  3        7
  4        8
 

标签: r

解决方案


我们可以用data.frame

data.frame(listoflists)

-输出

   col1 col2
1    1    5
2    2    6
3    3    7
4    4    8

如果 OP 的意思是,它是一个嵌套的list,然后unlist是内部列表元素,通过循环lapply和包装data.frame

data.frame(lapply(listoflists, unlist))

如果它应该是最有效的方式,那么setDT也可以应用

library(data.table)
setDT(listoflists)

-输出

> listoflists
   col1 col2
1:    1    5
2:    2    6
3:    3    7
4:    4    8

推荐阅读