我需要创建一个从 1 到 100 的序列(这并不重要),并且交替步长不遵循任何特定的分布或规则。精确的步长只能由数值向量来定义:
vec <- c(1,1,2,1,3,1,1,1,1,4,1)
如何从上述向量中得到以下序列?
seq <- c(1,2,3,5,6,9,10,11,12,13,17,18)
by =
函数中的参数seq
不接受向量作为输入,因此非常感谢任何有关如何解决此问题的想法或建议。
使用
cumsum
:
cumsum(c(1, vec))
#[1] 1 2 3 5 6 9 10 11 12 13 17 18