Draws a random permutation on
1:length(exchange.list) such that no two elements whose corresponding
exchange.list values are different are interchanged.
A vector such that the permutation vector may exchange the ith and jth positions iff
rperm draws random permutation vectors given the constraints of exchangeability described above. Thus,
rperm(c(0,0,0,0)) returns a random permutation of four elements in which all exchanges are allowed, while
rperm(c(1,1,"a","a") (or similar) returns a random permutation of four elements in which only the first/second and third/fourth elements may be exchanged. This turns out to be quite useful for searching permutation spaces with exchangeability constraints (e.g., for structural distance estimation).
A random permutation vector satisfying the given constraints
Carter T. Butts email@example.com
1 2 3 4