使用 rep/seq 创建 ID 列
Using rep/seq to create ID column
有没有一种有效的方法可以使用 rep
/seq
或其他一些我没有想到的函数来创建 ID 列,如下所示:
1, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10.. ...
因此,每 3 个数字,以下 3 个数字就会重复一次。我的实际数据需要一个序列:
1:1000-各1个
1001:2000- 每个 2
2001:3000 - 每个 3 个
....
任何 ideas/help 将不胜感激。
我们可以使用
v2 <- 1:7000
rep(v2, as.integer(gl(length(v2), 1000, length(v2))))
第一种情况
v1 <- 1:15
rep(v1, as.integer(gl(length(v1), 3, length(v1))))
[1] 1 2 3 4 4 5 5 6 6 7 7 7 8 8 8 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 13 13 14 14 14 14 14 15 15 15 15
我们可以在rep.int
里面使用rep
。
第一种情况:
rep.int(1:12, rep(1:4, each = 3))
第二种情况:
rep.int(1:3e3, rep(1:3, each = 1e3))
有没有一种有效的方法可以使用 rep
/seq
或其他一些我没有想到的函数来创建 ID 列,如下所示:
1, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10.. ...
因此,每 3 个数字,以下 3 个数字就会重复一次。我的实际数据需要一个序列:
1:1000-各1个
1001:2000- 每个 2
2001:3000 - 每个 3 个 ....
任何 ideas/help 将不胜感激。
我们可以使用
v2 <- 1:7000
rep(v2, as.integer(gl(length(v2), 1000, length(v2))))
第一种情况
v1 <- 1:15
rep(v1, as.integer(gl(length(v1), 3, length(v1))))
[1] 1 2 3 4 4 5 5 6 6 7 7 7 8 8 8 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 13 13 14 14 14 14 14 15 15 15 15
我们可以在rep.int
里面使用rep
。
第一种情况:
rep.int(1:12, rep(1:4, each = 3))
第二种情况:
rep.int(1:3e3, rep(1:3, each = 1e3))