【问题标题】:How to record certain summary statistics for each item in list?如何为列表中的每个项目记录某些汇总统计信息?
【发布时间】:2021-02-25 05:19:33
【问题描述】:

我有一个名为“new_files”的大型列表,列表中包含许多数据框

我想创建一个新的数据框或表格,在一列中输出列表名称([[1]]、[[2]] 等),在第二列中输出该列表的平均值第三列中的标准差。在此上下文中具有有意义信息的列是第 1 列。

【问题讨论】:

    标签: r list dataframe for-loop


    【解决方案1】:

    你可以试试lapply

    data <- do.call(rbind, lapply(seq_along(new_files), function(i) {
      data.frame(name = i, mean = mean(new_files[[i]][[1]], na.rm = TRUE),
                           sd = sd(new_files[[i]][[1]], na.rm = TRUE))
    }))
    

    imap_dfr 稍微短一点:

    data <- purrr::imap_dfr(new_files, 
                 ~data.frame(name = .y, 
                             mean = mean(.x[[1]], na.rm = TRUE), 
                             sd = sd(.x[[1]], na.rm = TRUE)))
    

    【讨论】:

    • 那行得通。非常感谢你,你太棒了!
    • 啊,谢谢提醒。当我发表第一条评论时,我尝试了感谢你,但它处于几分钟的冷却时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 2020-11-06
    • 2020-12-03
    • 2015-09-22
    • 1970-01-01
    • 2019-08-18
    • 1970-01-01
    相关资源
    最近更新 更多