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

在R语言中按条件对数据框的值求和并添加新列

解决方案

方法1:使用Base R的ave()函数

ave()函数可直接对分组数据计算统计量,并将结果填充到对应分组的每一行:

plots$sum <- ave(plots$value, plots$plot, FUN = sum)

运行后查看结果:

plots
#   plot value sum
# 1    A     1   3
# 2    A     1   3
# 3    A     1   3
# 4    B     2   4
# 5    B     2   4
# 6    C     3   9
# 7    C     3   9
# 8    C     3   9

方法2:使用dplyr包(tidyverse生态)

若习惯tidyverse风格的代码,可通过分组后添加新列实现:

先确保加载dplyr包(首次使用需安装):

# install.packages("dplyr") # 首次使用时执行安装
library(dplyr)

执行分组求和操作:

plots <- plots %>%
  group_by(plot) %>%
  mutate(sum = sum(value)) %>%
  ungroup() # 可选,根据后续操作需求取消分组

最终结果与Base R方法完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:15:33