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

如何在dplyr中基于唯一分组值对列进行求和?

在dplyr中实现基于唯一drill的duration总和列

你可以通过以下两种方式快速实现需求:核心逻辑是先提取所有唯一的drill与对应duration的组合,计算这些duration的总和,再将该总和作为新列填充到所有行中。

方法一:分步实现(清晰直观)

library(dplyr)

# 计算唯一drill对应的duration总和
total_unique_duration <- df %>%
  distinct(drill, duration) %>%  # 保留唯一的drill-duration配对
  pull(duration) %>%             # 提取duration列
  sum()                          # 求和

# 给原数据框添加新列
df <- df %>%
  mutate(total_drill_duration = total_unique_duration)

方法二:紧凑写法(一行完成)

如果想简化代码,可以把逻辑直接整合到mutate操作中:

df <- df %>%
  mutate(total_drill_duration = sum(distinct(., drill, duration)$duration))

结果说明

两种方法都会生成名为total_drill_duration的新列,所有行的值均为32(即3+5+8+6+10的总和),完全匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 19:10:55