创建加法序列

Create sequence of additions

我想按照行号序列提取数据框的特定行。

顺序应该是:

7, 14, 21, 31, 38, 45, 55, 62, 69.....until 8760. 

所以它总是从第 7 行开始,然后是 +7 +7 +10,这应该重复直到结束。

我知道repseq,但我不知道如何处理+7之后的+10。 有什么想法吗?

我们可以使用rep

x1 <- rep(c(7, 10), c(2, 1))
out <- cumsum(c(7, rep(x1, 8760 %/% sum(x1)))))
out1 <- out[out < 8760]
head(out1, 10)
#[1]  7 14 21 31 38 45 55 62 69 79
tail(out1, 10)
#[1] 8685 8695 8702 8709 8719 8726 8733 8743 8750 8757

尝试

x <- rep(c(7, 10), c(2, 1))
out <- cumsum(c(7, rep(x, ceiling(8760 / sum(x)))))

结果

head(out, 10)
# [1]  7 14 21 31 38 45 55 62 69 79

tail(out)
# [1] 8726 8733 8743 8750 8757 8767

如果您希望 out8760 结束,您可以

c(out[out < 8760], 8760)