[R] Multiset Permutations

2008-04-06 Thread Stropharia
Dear R users, I want to perform an exact permutation of multisets. I have looked at the coin package, but it doesn't seem to offer what I am looking for. I want to perform permutations (exact - without duplications) on multisets of scalars (e.g., the multiset 0,0,1,2,2). I want to output all the

Re: [R] Multiset Permutations

2008-04-06 Thread Johannes Hüsing
You can use the function permutation from the e1071 package, then library(e1071) multisetperm - function(multiset) { unique(apply(matrix(multiset[permutations(length(multiset))], ncol=length(multiset)), 1, paste, sep=, collapse=)) } multisetperm(c(0, 0, 1, 2, 2)) The output would look

Re: [R] Multiset Permutations

2008-04-06 Thread Gavin Simpson
Hi, If I understand you correctly, there is beta code within the development version of package 'vegan' on R forge to do this. install.packages(vegan, repos=http://R-Forge.R-project.org;) Then: numPerms(5) [1] 120 perms - allPerms(5, observed = TRUE) perms[1:10,] [,1] [,2] [,3] [,4]

Re: [R] Multiset Permutations

2008-04-06 Thread G. Jay Kerns
Dear Steven, The prob package does this, too. (Please see the * fix below). x - c(0, 0, 1, 2, 2) library(prob) A - permsn(x, 5) # with repeated columns B - unique( data.frame( t(A) )) # no repeated rows The data frame B will have 56 rows and 5 columns. If you need the