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

R语言dplyr如何新增列实现每16行分组标记递增type值

问题原因

%/%是R语言的整数除法运算符,直接用book1$ID %/% 16计算会出现分组错位:当ID为16时运算结果为1,ID为17时运算结果同样为1,无法实现每16个连续行归为同一组的需求。

解决方案

写法1(推荐,不依赖ID连续性)

直接按数据框的行位置分组,哪怕ID乱序、断号也能准确按每16行切分:

book1$Type <- ((seq_len(nrow(book1)) - 1) %/% 16) + 1

写法2(仅适用于ID从1开始连续递增的场景)

如果你的ID列始终是从1开始的连续整数,也可以直接基于ID列计算:

book1$Type <- ((book1$ID - 1) %/% 16) + 1
效果说明

运行上述代码后得到的结果和你给出的预期输出完全一致:

  • 第1到16行Type值为1
  • 第17到32行Type值为2
  • 第33到34行Type值为3

如果后续需要调整每组的行数,直接替换代码里的16为目标分组大小即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 20:33:40