Try this: > # Taken from combinations(gtools) > # library(gregmisc) > # Function permutations > fn_perm_list <- + function (n, r, v = 1:n) + { + if (r == 1) + matrix(v, n, 1) + else if (n == 1) + matrix(v, 1, r) + else { + X <- NULL + for (i in 1:n) X <- rbind(X, cbind(v[i], fn_perm_list(n - + 1, r - 1, v[-i]))) + X + } + } > > fn_perm_list(3,3) [,1] [,2] [,3] [1,] 1 2 3 [2,] 1 3 2 [3,] 2 1 3 [4,] 2 3 1 [5,] 3 1 2 [6,] 3 2 1
Note that the you can use library gregmisc without using this function, but I thought it might be instructive for you to see how this is done. Here's how you would normally do this: > library(gregmisc) > permutations(3,3) [,1] [,2] [,3] [1,] 1 2 3 [2,] 1 3 2 [3,] 2 1 3 [4,] 2 3 1 [5,] 3 1 2 [6,] 3 2 1 Cheers, Dan Viar On Fri, Mar 13, 2009 at 8:06 PM, onyourmark <william...@gmail.com> wrote: > > Hi. Does anyone know of a function which will take as input a number n (or a > let of n letters) and will give out, one at a time, the permutations of n > (or of those n letters) as a vector? > So that I can use the permutations one at a time. And such that it will > exhaust all the permutations with no repeats. > > For example if n is 3, I would want a function which I could use in a loop > and the first time I use it in the loop it may give the vector > 123 > and then the next time in the loop it may give > 132 > and so on so that after 6 iterations through the loop I would get all 6 > permutations of 123. > > Thank you. > -- > View this message in context: > http://www.nabble.com/permutations-in-R-tp22507989p22507989.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.