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

R语言dplyr分组汇总如何对数据列实际值求和而非统计行数

按区域+年份分组汇总累计死亡人数实现方法

需求背景

你手中的冲突记录数据集每行对应1起冲突事件,包含死亡人数字段,覆盖2017-2022年共10个不同区域,各年份、各区域的事件条目数不均。需要生成新数据框,实现每个区域对应每个年份仅保留1条记录,汇总展示该区域对应年份的累计死亡人数,最终每个区域共6条记录(分别对应6个年份)。
你已掌握分组统计条目数的代码写法,但需要实现死亡人数的分组求和,原有计数代码如下:

data_mali%>%
  dplyr::group_by(admin1, year)%>%
  dplyr::summarise(dplyr::n())

具体实现

只需要将summarise()中的计数逻辑替换为对死亡人数字段的求和逻辑即可,注意提前替换代码中死亡人数字段的列名为你数据集里的实际列名,示例假设死亡人数字段名为deaths:

library(dplyr)

result <- data_mali %>%
  group_by(admin1, year) %>%
  summarise(
    total_deaths = sum(deaths, na.rm = TRUE),
    .groups = "drop"
  )

注意事项

  • total_deaths是汇总后累计死亡人数列的列名,可根据你的命名习惯自行修改
  • na.rm = TRUE的作用是自动忽略死亡人数字段中的缺失值,避免存在缺失值时整组求和结果返回NA,可根据数据实际质量决定是否保留该参数
  • .groups = "drop"用于汇总完成后自动清除数据的分组状态,避免后续操作受残留分组逻辑影响出现计算错误
  • 运行完成后可通过table(result$admin1)快速校验结果:正常情况下每个区域对应6条记录,如果出现记录数不足6的情况,说明该区域在缺失的年份无任何冲突事件上报,不属于代码运行错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 01:01:26