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

如何在管道运算符中使用apply函数按Group分组对数值列求和

R按分组对数值列求和解决方案

原始数据

> df
     VAR1 VAR2 VAR3 VAR4 VAR5 VAR6 VAR7 VAR8  Group
ACSK   16    4    0   25    0    0    7   16 Group3
CKPD    9   19    0   17    0   11    6   13 Group3
AEXF   10    0    0   36    0    0    0    0 Group1
AGNS   34    0   77   30    0    0    0    0 Group3
AGRL   19    0    0   52    0    0    0    0 Group2
AJEH    5    0   40    8    0    0    0   13 Group3
AOKS   34    0   47   43    0    0    0    0 Group2
AYKR   14    0  186   18    0    0    0    0 Group2
MIEY   20  226    0  102    0    0  201    0 Group1
BLHR   13    0    0   50    0    0    0    0 Group1

需求说明

需要按Group变量分组,对每组内的所有数值列分别求和,预期输出如下:

VAR1 VAR2 VAR3 VAR4 VAR5 VAR6 VAR7 VAR8  Group
   1   43  226    0  188    0    0  201    0 Group1
   2   67    0  233  113    0    0    0    0 Group2
   3   64   23  117   80    0   11   13   42 Group3

错误代码原因

你给出的代码逻辑和需求不匹配:group_by分组后调用apply(.,1,sum)是对原始数据的每一行做全列求和,没有实现分组后对各列分别求和的效果。

df %>% 
  group_by(Group) %>% 
  apply(., 1, sum) %>% 
  rbind(.)

正确实现方法

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

适配dplyr 1.0.0及以上版本,代码简洁易读:

library(dplyr)
result <- df %>%
  group_by(Group) %>%
  summarise(across(where(is.numeric), sum))

方法2:基础R实现

无需加载第三方包,直接用内置aggregate函数实现:

result <- aggregate(. ~ Group, data = df, FUN = sum)

复现用数据结构

structure(list(VAR1 = c(16L, 9L, 10L, 34L, 19L, 5L, 34L, 14L, 
20L, 13L), VAR2 = c(4L, 19L, 0L, 0L, 0L, 0L, 0L, 0L, 226L, 0L
), VAR3 = c(0, 0, 0, 77, 0, 40, 47, 186, 0, 0), VAR4 = c(25L, 
17L, 36L, 30L, 52L, 8L, 43L, 18L, 102L, 50L), VAR5 = c(0, 0, 
0, 0, 0, 0, 0, 0, 0, 0), VAR6 = c(0, 11, 0, 0, 0, 0, 0, 0, 0, 
0), VAR7 = c(7L, 6L, 0L, 0L, 0L, 0L, 0L, 0L, 201L, 0L), VAR8 = c(16L, 
13L, 0L, 0L, 0L, 13L, 0L, 0L, 0L, 0L), Group = c("Group3", "Group3", 
"Group1", "Group3", "Group2", "Group3", "Group2", "Group2", "Group1", 
"Group1")), row.names = c("ACSK", "CKPD", "AEXF", "AGNS", "AGRL", 
"AJEH", "AOKS", "AYKR", "MIEY", "BLHR"), class = "data.frame")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:54:08