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

R语言按两个条件分组对数据框行求和并保留分组字段的问题

问题原因

你之前的代码仅对cyear单字段执行分组,因此同一cyear下所有relativeyear对应的数值都会被合并求和,无法得到双维度分组的统计结果。

解决方案

dplyr 方案

直接将cyear和relativeyear同时放入group_by()参数中即可实现双字段分组聚合,你用到的transmute步骤没有实际数据处理作用可以省略:

library(dplyr)
work.total <- diva2 %>%
  group_by(cyear, relativeyear) %>%
  # 若数据存在NA值可添加na.rm = TRUE参数:sum(dollarandiv, na.rm = TRUE)
  summarise(dollarandiv = sum(dollarandiv), .groups = "drop")

.groups = "drop"参数用于聚合完成后自动解除分组,避免后续操作出现非预期的分组逻辑。

基础R方案

如果不想依赖dplyr包,也可以用基础R的aggregate函数实现同样效果:

work.total <- aggregate(dollarandiv ~ cyear + relativeyear, data = diva2, FUN = sum)

以上两种方案运行后得到的结果和你给出的理想输出完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 10:06:04