r - 如何在 R 中每 n 行创建一个具有相同 id 的新列?
问题描述
我有一个数据框,我想在其中创建一个新列,在其中每 30 行分配一次相同的 ID。
我的数据框来自一个实验,我希望创建一个新的“块”列,以便每 30 行它增加 1
例子:
col1 : 响应延迟 = 1,0002, 1.2566, ...30times, 1.5422, ...
col2 : 难度 = 简单、困难、中级、...
col3 : ID = 1, 2, 3, ...30 次, 31, 32, ...
我想要一个新专栏
新列 : bloc = 1, 1, ...30times, 2, 2, ...30times, 3, 3, ...
解决方案
以 5 为例,但这当然适用于 30
df <- data.frame(rownum = 1:23)
bloc_len <- 5
df$bloc <-
rep(seq(1, 1 + nrow(df) %/% bloc_len), each = bloc_len, length.out = nrow(df))
df
# rownum bloc
# 1 1 1
# 2 2 1
# 3 3 1
# 4 4 1
# 5 5 1
# 6 6 2
# 7 7 2
# 8 8 2
# 9 9 2
# 10 10 2
# 11 11 3
# 12 12 3
# 13 13 3
# 14 14 3
# 15 15 3
# 16 16 4
# 17 17 4
# 18 18 4
# 19 19 4
# 20 20 4
# 21 21 5
# 22 22 5
# 23 23 5
您也可以使用%/%
(相同的输出)
df$bloc <-
1 + seq(0, nrow(df) - 1) %/% bloc_len
推荐阅读
- android - Seekbar 数据绑定错误
- php - 带有 PHP 配置错误的 arcanist arc 帮助命令
- python-2.7 - 如何使用 Opencv3.3 和 Pyhton2.7 识别图像中的迷宫
- php - 无法使用 PHP 在 MongoDB 上选择数据库
- php - 在 Fedora 27 上同时使用 php5 和 php7
- android - 我在哪里可以找到 xamrin android 存档上传的日志
- jquery - 使用 jQuery 通过样式属性定位标签并将其更改为具有类的另一个标签
- javascript - 如何从 Selenium 提供的 html 中提取动态文本 3204255?
- asp.net-core - MVC 或 Net Core 框架可加快 Visual Studio 中 Web 应用程序的生产力
- python - 试图通过 Excel 文件的每一行循环一个数组