【发布时间】:2020-07-15 22:32:41
【问题描述】:
我有这个向量:
1:12
我想以这种方式滚动值的顺序:
#Iter 1
1 2 3 4 5 6 7 8 9 10 11 12
#Iter 2
12 1 2 3 4 5 6 7 8 9 10 11
#Iter 3
11 12 1 2 3 4 5 6 7 8 9 10
#Iter 3
10 11 12 1 2 3 4 5 6 7 8 9
#Iter 4
...
#Iter 12
1 2 3 4 5 6 7 8 9 10 11 12
我尝试了dplyr:lead、seq(to = 1, by = -1, length.out = 12) 和一个循环,但我不知道如何在 R 中进行反向(反向)切片。
【问题讨论】:
-
这能回答你的问题吗? Circular shift of vector (equivalent to numpy.roll)。你可以做
lapply(seq_along(x), function(n) c(tail(x, n), head(x, -n)))。 -
这就是我想要的!谢谢!