【问题标题】:Import values ​from a list into a dataframe quickly using R使用 R 将列表中的值快速导入数据框
【发布时间】:2021-04-14 14:54:38
【问题描述】:

我想了解如何通过从列表中提取数据来更快地创建数据框。在 特别是我有一个包含 40 个长度不同的元素的列表。我正在使用这种方法,但它真的很慢。

data1 <- output_list[1] %>% data.frame()
data2 <- output_list[2] %>% data.frame()
data3 <- output_list[3] %>% data.frame()
data4 <- output_list[4] %>% data.frame()
data5 <- output_list[5] %>% data.frame()
data6 <- output_list[6] %>% data.frame()
data7 <- output_list[7] %>% data.frame()
........
........
data39 <- output_list[39] %>% data.frame()
data40<- output_list[40] %>% data.frame()


general.data <- rbind(data1, data2, data3, ......, data39, data40)

我怎样才能在几行代码中加快这一切? 提前谢谢大家

【问题讨论】:

    标签: r list dataframe


    【解决方案1】:

    如果列表的所有元素都是 data.frames 并且具有相同的结构,那么最简单和最快的方法是:

    library(data.table)
    
    general.data <- rbindlist(output_list)
    

    【讨论】:

    • dplyr::bind_rows() 做同样的事情。如果您想保留列表元素的名称或其顺序(如果未命名列表元素),它还有一个 .id 参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2016-04-21
    • 1970-01-01
    • 2015-11-08
    • 2023-04-09
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多