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

如何使用dplyr按年份分组汇总值并保留index列?

解决方法

你的问题核心是分组时未包含index列,导致汇总后无法保留该字段。观察数据可知,每个year对应唯一的index值,只需在group_by中同时指定year和index即可解决。

修正后的代码如下:

sum1 <-
  df1 %>%
  group_by(year, index) %>%
  summarise(value = sum(value, na.rm = TRUE), .groups = "drop")

代码说明

  • group_by(year, index):同时按年份和索引分组,确保每个分组对应的index值被保留
  • summarise(...):计算每组的value总和,na.rm = TRUE用于忽略缺失值
  • .groups = "drop":汇总后取消分组状态,得到普通数据框(可根据需求选择保留分组)

运行代码后得到的结果与你期望的df2结构完全一致:

yearindexvalue
2015115
201619
2017129
2018227
2019210

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:44:56