使用 rep() 和 seq() 创建这个向量

Create this vector using rep() and seq()

我从 R 语言开始,我必须使用 rep()seq() 创建这个向量。

1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 

我一直在尝试一些东西,但我没有实现。

我们可以试试

1:5 + rep(0:4,each=5)
#[1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9

或者像这样?

c(sapply(1:5, function(x) seq(x,x+4)))
[1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9

只是为了运动,添加一个使用它的 shift 功能的 data.table 版本

unlist(data.table(1:10)[, shift(V1, 5:1)][6:10], use.names = FALSE)
# [1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9