【问题标题】:Create a sequence of sequences of different lengths创建一系列不同长度的序列
【发布时间】:2015-12-05 14:14:29
【问题描述】:

我必须创建大量(> 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 个序列来执行此操作,这将非常低效。有没有更简单的方法?

【问题讨论】:

  • final &lt;- unlist(mapply(seq, c(1,1,1,1), c(2,3,4,6))) 是否每个部分序列都以from=1 开头?

标签: r sequence


【解决方案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)

【讨论】:

    【解决方案2】:

    示例:

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

    所以对你来说它将是:

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

    【讨论】:

      猜你喜欢
      • 2020-05-30
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      相关资源
      最近更新 更多