Recursively apply a permutation
recurse.RdRecursively apply a permutation to a vector an arbitrary number of times. Negative times mean apply the inverse permutation.
Usage
recurse(perm, i, start = seq_along(perm))Examples
n <- 15
noquote(recurse(start=letters[1:n],perm=shift(1:n),i=0))
#> [1] a b c d e f g h i j k l m n o
noquote(recurse(start=letters[1:n],perm=shift(1:n),i=1))
#> [1] o a b c d e f g h i j k l m n
noquote(recurse(start=letters[1:n],perm=shift(1:n),i=2))
#> [1] n o a b c d e f g h i j k l m
noquote(recurse(start=letters[1:n],perm=sample(n),i=1))
#> [1] l g e o m a j b k i c h n d f
noquote(recurse(start=letters[1:n],perm=sample(n),i=2))
#> [1] a m h b d g k f e i n l o j c