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

dplyr实战:按hands列匹配行求和新增列并保留原数据框结构

基于dplyr的实现代码

核心思路是按hands列分组后用mutate生成新列,分组状态下的mutate不会压缩原有行数,会将分组统计结果回填到该组所有行,完全保留原数据结构:

# 加载dplyr包
library(dplyr)

# 核心操作
fig <- fig %>%
  group_by(hands) %>%  # 按hands列分组
  mutate(new = sum(n)) %>% # 计算分组内n列的总和,赋值给新列new
  ungroup() # 取消分组,避免后续操作受残留分组状态影响

输出验证

运行代码后得到的结果完全符合预期:

> fig
# A tibble: 8 × 4
  hands imp_spe     n   new
  <chr>   <dbl> <int> <int>
1 A           0    39    71
2 A           1    32    71
3 B           0     3     5
4 B           1     2     5
5 C           0   115   139
6 C           1    24   139
7 D           0    11    14
8 D           1     3    14

简洁写法(适配dplyr 1.0.0及以上版本)

可以用.by参数省略显式分组和解组的步骤,代码更精简:

fig <- fig %>% mutate(new = sum(n), .by = hands)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:54:03