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

如何在R中按年份分组对多个列同时进行求和汇总

按年份分组同时对多列求和的解决方法

方法1:dplyr包实现(推荐)

dplyr 1.0.0及以上版本可以用across()函数批量指定要聚合的列,无需逐列操作,代码如下:

library(dplyr)
# 写法1:手动指定要聚合的列
aggr_data <- data %>%
  group_by(Year) %>%
  summarise(across(c(X1, X2, X3), sum, na.rm = TRUE))

# 写法2:匹配列名规则批量选择,适合列数多的场景
# 下面的代码会自动选择所有以X开头的列进行求和
aggr_data <- data %>%
  group_by(Year) %>%
  summarise(across(starts_with("X"), sum, na.rm = TRUE))

注意:分组字段Year的大小写要和原始数据集保持一致,不要写成小写year,否则会报错。

方法2:基础R实现(无需安装第三方包)

如果不想加载dplyr,可以用基础R自带的aggregate()函数实现同样效果:

# . ~ Year 表示对除了Year之外的所有列进行聚合
aggr_data <- aggregate(. ~ Year, data = data, FUN = sum, na.rm = TRUE)

两种方法输出的都是符合要求的完整dataframe格式,无需后续拼接操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 21:24:01