You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中计算列表内数据框的指定列求和并导出为CSV文件

解决方案

针对列表中的多个数据框,我们可以用几种不同的方式来批量计算求和并整理成你需要的格式,以下是两种常用方法:

方法1:基础R实现(无需额外包)

你可以继续用基础R的lapply遍历列表,对每个数据框计算求和,同时提取唯一的ID(因为每个数据框的ID都是重复的,取唯一值即可):

# 遍历列表,生成每个数据框的汇总结果
summary_list <- lapply(new_list, function(df) {
  data.frame(
    tt = sum(df$tt, na.rm = TRUE),
    dd = sum(df$dd, na.rm = TRUE),
    ID = unique(df$ID)
  )
})

# 将列表中的多个小数据框合并成一个大的数据框
final_result <- do.call(rbind, summary_list)

# 保存为CSV文件
readr::write_csv(final_result, "summary_result.csv")

方法2:Tidyverse风格实现(更简洁直观)

如果你习惯用tidyverse工具集,purrr::map_dfr可以直接把遍历结果合并成数据框,配合dplyr::summarise代码可读性更强:

library(tidyverse)

# 批量处理列表并生成汇总结果
final_result <- new_list %>%
  map_dfr(function(df) {
    df %>%
      summarise(
        tt = sum(tt, na.rm = TRUE),
        dd = sum(dd, na.rm = TRUE),
        ID = first(ID)  # 每个数据框ID一致,取第一个值即可
      )
  })

# 保存到CSV文件
write_csv(final_result, "summary_result.csv")

验证结果

运行代码后,final_result的结构会完全符合你的预期:

> final_result
   tt dd ID
1   6 20  a
2  20 30  b

内容的提问来源于stack exchange,提问作者sler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 16:39:10