繁体   English   中英

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

[英]Create a sequence of sequences of different lengths

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

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

每个序列从1开始并以1的步长向前移动。在最后的序列中(组合一个),每个序列必须一个接一个地出现,它们不能混淆。

一个小的演示示例如下:

我说有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个序列做到这一点,效率非常低。 有没有更简单的方法呢?

我们可以使用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)

例:

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

所以对你来说它将是:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM