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

如何为分组后的DataFrame添加组内行号?

需求说明

用户希望生成一个row变量,实现:

  • id为soo1的行对应的row依次为1、2
  • id为soo2的行对应的row依次为1、2
  • id为soo3的行对应的row为1

用户尝试的代码如下:

library(dplyr)

data1 <- tibble(
  "id" = c("soo1", "soo1", "soo2", "soo2", "soo3"),
  "amount" = c(100, 21, 23, 23, 45)
) |> 
  group_by(id) |> 
  mutate(row = row_number())
解答

你写的代码已经完全符合需求。运行这段代码后,data1的结果如下:

# A tibble: 5 × 3
# Groups:   id [3]
  id    amount   row
  <chr>  <dbl> <int>
1 soo1     100     1
2 soo1      21     2
3 soo2      23     1
4 soo2      23     2
5 soo3      45     1

代码逻辑说明

  • group_by(id):按id字段对数据分组,让后续操作在每个分组内独立执行
  • mutate(row = row_number()):在每个分组内生成从1开始递增的行号,刚好匹配你对row变量的要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 18:15:53