For what it's worth, here is a mild revision of my restr.perm() function, which seems NOT to fall over. I.e. it appears to ``reliably'' generate restricted permutations.
Whether these are genuinely ***random*** restricted permutations (i.e. does each restricted permutation of 1:12 have the same probability of being generated?) is not clear to me. So ***DON'T TRUST IT***!!! ===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+=== restr.perm <- function () { S <- 4:12 G <- NULL A <- list(1:3,4:6,7:9,10:12) for(k in 1:4) { for(i in A[[k]]) { tmp <- union(i,S) tmp <- setdiff(tmp,G) if(length(tmp)==0) return(Recall()) x <- if(length(tmp)==1) tmp else sample(tmp,1) G <- c(G,x) S <- setdiff(S,G) } S <- union(S,A[[k]]) R <- if(k < 4) A[[k+1]] else NULL R <- union(R,G) S <- setdiff(S,R) } G } ===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+=== cheers, Rolf Turner [EMAIL PROTECTED] ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html