首页 > 解决方案 > 创建添加序列

问题描述

我想按照一系列行号提取数据帧的特定行。

顺序应该是:

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

所以它总是从第 7 行开始,然后它会一直+7 +7 +10重复到最后。

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

标签: rsequencerepeat

解决方案


尝试

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

如果你想out结束8760你可能会做

c(out[out < 8760], 8760)

推荐阅读