如何将列表列表转换为数据框以进行导出?

时间:2020-02-07 17:02:25

标签: r

我已经生成了一个列表列表,其中包含用于手动检查的数据。子列表是文本和数字数据的组合,但是R都将它们视为字符数据。每个子列表拥有不同数量的值。例如

list_of_lists[[1]]

可能退货

[[1]]
[1] "company name" "company name" "29" "30"

同时

list_of_lists[[2]]

可能退货

[[2]]
[1] "company name" "company name" "company name"
[4] "1253"         "4980"         "4981"

我的列表列表中有359个子列表,我想将它们全部导出到excel以进行手动检查。我遇到的问题是将列表列表转换为可以导出到excel的数据框,特别是由于所有列表的长度都不同。我不需要维护数据类型或类似的东西,仅需一些帮助即可使数据保持卓越,同时保持可读性。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的数据看起来像

list_of_lists <- list(
  c("company name", "company name", "29", "30"),
  c("company name", "company name", "company name", "1253", "4980", "4981")
)

然后您可以尝试

do.call(rbind, lapply(list_of_lists, function(l) matrix(l, ncol=2)))
#      [,1]           [,2]  
# [1,] "company name" "29"  
# [2,] "company name" "30"  
# [3,] "company name" "1253"
# [4,] "company name" "4980"
# [5,] "company name" "4981"

开始将它们混在一起。

我假设:

  1. 所有事物都是成对出现的,总是有偶数个元素,因此您首先添加所有标签,然后将它们的值配对;和
  2. 由于所有内容都是字符串,因此末尾的矩阵不是问题;您可以随时进行as.data.frame,重命名列,然后将第二列转换为数字/整数(如果适用)。