我有这个向量:
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中做反向切片。
发布于 2020-07-16 06:49:13
您可以尝试这样做:
vec <- 1:12
#List
List <- list()
List[[1]] <- vec
#Loop
for(i in 2:length(vec))
{
List[[i]] <- vec[c((length(vec)-2)+2,1:length(vec)-1)]
vec <- List[[i]]
}
[[1]]
[1] 1 2 3 4 5 6 7 8 9 10 11 12
[[2]]
[1] 12 1 2 3 4 5 6 7 8 9 10 11
[[3]]
[1] 11 12 1 2 3 4 5 6 7 8 9 10
[[4]]
[1] 10 11 12 1 2 3 4 5 6 7 8 9
[[5]]
[1] 9 10 11 12 1 2 3 4 5 6 7 8
[[6]]
[1] 8 9 10 11 12 1 2 3 4 5 6 7
[[7]]
[1] 7 8 9 10 11 12 1 2 3 4 5 6
[[8]]
[1] 6 7 8 9 10 11 12 1 2 3 4 5
[[9]]
[1] 5 6 7 8 9 10 11 12 1 2 3 4
[[10]]
[1] 4 5 6 7 8 9 10 11 12 1 2 3
[[11]]
[1] 3 4 5 6 7 8 9 10 11 12 1 2
[[12]]
[1] 2 3 4 5 6 7 8 9 10 11 12 1https://stackoverflow.com/questions/62924725
复制相似问题