创建一系列不同长度的序列
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)
我必须创建一个包含大量(> 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)