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

R语言按factor因子水平对多列数值分组求和的实现问题

方法1:使用dplyr包(tidyverse生态,写法最直观)

如果已经安装tidyverse或dplyr包,可以直接用分组汇总语法:

# 加载包
library(dplyr)

# 分组求和
df_agg <- df %>%
  group_by(brand) %>%
  summarise(across(where(is.numeric), sum))

代码说明:group_by(brand)指定按品牌分组,across(where(is.numeric), sum)表示对所有数值列执行求和运算,输出结果就是包含所有数值列汇总结果的整合表。


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

用R内置的aggregate函数即可一行实现:

df_agg <- aggregate(. ~ brand, data = df, FUN = sum)

代码说明:公式里的.代表除分组列brand之外的所有列,会自动对这些列按品牌分组求和。


方法3:data.table实现(适合处理大数据集,性能更高)

如果习惯用data.table语法,可以用以下写法:

library(data.table)
# 转换为data.table格式
setDT(df)
# 分组求和
df_agg <- df[, lapply(.SD, sum), by = brand]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 12:54:00