创建加法序列
Create sequence of additions
我想按照行号序列提取数据框的特定行。
顺序应该是:
7, 14, 21, 31, 38, 45, 55, 62, 69.....until 8760.
所以它总是从第 7 行开始,然后是 +7 +7 +10
,这应该重复直到结束。
我知道rep和seq,但我不知道如何处理+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
如果您希望 out
在 8760
结束,您可以
c(out[out < 8760], 8760)
我想按照行号序列提取数据框的特定行。
顺序应该是:
7, 14, 21, 31, 38, 45, 55, 62, 69.....until 8760.
所以它总是从第 7 行开始,然后是 +7 +7 +10
,这应该重复直到结束。
我知道rep和seq,但我不知道如何处理+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
如果您希望 out
在 8760
结束,您可以
c(out[out < 8760], 8760)