Code for algorithm to permute a vector circularly:
# permute vector circularly (for jacard tad coexpr)
shifter <- function(x, n = 1) {
# if (n == 0) x else c(tail(x, -n), head(x, n))
if (n == 0) x else c(tail(x, n), head(x, -n))
}
shifter(c(1:10), n=0)
# [1] 1 2 3 4 5 6 7 8 9 10
shifter(c(1:10), n=1)
# [1] 10 1 2 3 4 5 6 7 8 9
shifter(c(1:10), n=2)
# [1] 9 10 1 2 3 4 5 6 7 8