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

如何用dplyr为数据集添加基于v1分组的v2求和列tc?

使用dplyr为分组添加求和列的实现方法

示例数据集

首先构造示例数据集testDF:

testDF <- data.frame(v1 = rep(c('a', 'b', 'c', 'd', 'e', 'f'), 2),
                     v2 = rep(c(1,0),6))

原数据集内容如下:

v1 v2
1   a  1
2   b  0
3   c  1
4   d  0
5   e  1
6   f  0
7   a  1
8   b  0
9   c  1
10  d  0
11  e  1
12  f  0

需求说明

需要按v1字段分组,新增一列tc,存储每组v2的求和结果,最终输出如下:

v1 v2  tc
1   a  1   2
2   b  0   0
3   c  1   2
4   d  0   0 
5   e  1   2
6   f  0   0
7   a  1   2
8   b  0   0
9   c  1   2
10  d  0   0
11  e  1   2

解决方案(dplyr实现)

可以使用dplyr的分组+新增列操作完成需求:

library(dplyr)

testDF <- testDF %>%
  group_by(v1) %>%
  mutate(tc = sum(v2)) %>%
  ungroup()

代码解释

  • group_by(v1):按照v1的取值对数据集进行分组
  • mutate(tc = sum(v2)):在每个分组内计算v2的总和,并将结果作为新列tc添加到该分组的每一行
  • ungroup():取消数据集的分组状态,避免后续操作受分组规则影响(属于推荐的规范操作)

运行上述代码后,testDF即可得到目标结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 16:50:22