创建一系列不同长度的序列

Create a sequence of sequences of different lengths

我必须创建一个包含大量(> 10,000)不同长度序列的序列。我只知道向量形式的这些序列的长度。

length_v <- c(2,3,4,4,2,6,11,75...................)

每一个sequence都是从1开始,步长为1。并且在最后的sequence(合一)中,每一个sequence都要一个接一个的出现,不能乱来。

下面是一个小的演示示例:

我说了4个长度分别为2、3、4、6的序列。

s1 <- seq(1, 2)  # 1,2
s2 <- seq(1, 3)  # 1,2,3
s3 <- seq(1, 4)  # 1,2,3,4
s4 <- seq(1, 6)  # 1,2,3,4,5,6 

最终顺序为

final <- c(s1,s2,s3,s4) **# the order has to be this only. No compromise here.**

我无法使用 > 10,000 个序列执行此操作,这会非常低效。有更简单的方法吗?

示例:

unlist(sapply(c(2,3,4,6), seq, from=1))

所以对你来说它将是:

unlist(sapply(length_v, seq, from=1))

我们可以使用sequence

sequence(length_v)
#[1] 1 2 1 2 3 1 2 3 4 1 2 3 4 5 6

数据

length_v <- c(2,3,4,6)