【问题标题】:How to create a vector of sequences based on a vector of lengths如何根据长度向量创建序列向量
【发布时间】:2014-08-01 01:24:03
【问题描述】:

我希望创建一个不同长度的序列向量 (1:n)。我希望使用另一个向量来指定这些序列的长度。

例如,对于我拥有的长度向量:

lengths <- c(10,6,4,7)

我希望 R 返回:

1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,1,2,3,4, etc.

我觉得某种循环可能是有序的,但我似乎无法让它工作。也许是这样的:

out <- NULL
for (i in length(lengths)){
    out[i] <- 1:lengths[i]
    }

我最终得到了这个错误:

警告信息: 在 out[i]

非常感谢任何帮助!

【问题讨论】:

  • 你试过你的“可能是这样的”代码吗? “似乎无法破解密码”是什么意思?您是否有可以与我们分享以帮助您调试的错误消息?
  • 谢谢,斯科特。我试图更好地澄清代码和错误。

标签: r loops


【解决方案1】:
sequence(lengths)
[1]  1  2  3  4  5  6  7  8  9 10  1  2  3  4  5  6  1  2  3  4  1  2  3  4  5  6  7

【讨论】:

  • 没有比这更简单的了 - seq_len() 是这个函数的主力。
  • 太棒了!! SO又赢了!谢谢,弗兰克。