On Mon, Jul 30, 2012 at 08:40:59PM +0545, Christofer Bogaso wrote: > Dear all, I was encountering with a typical Matching problem and was > wondering whether R can help me to solve it directly. > > Let say, I have 2 vectors of equal length: > vector1 <- LETTERS[1:6] > vector2 <- letters[1:6] > > Now I need to match these 2 vectors with all possible ways like: > > (A,B,C,D,E) & (a,b,c,d,e) is 1 match. Another match can be (A,B,C,D,E) & > (b,a,c,d,e), however there cant be any duplication.
Hi. If i understand correctly, all matches are obtained by taking all permutations of (a,b,c,d,e) and relating them to unchanged (A,B,C,D,E). Try the following. library(permute) vector2 <- letters[1:3] p <- allPerms(length(vector2), observed=TRUE) matrix(vector2[p], nrow=nrow(p), ncol=ncol(p)) [,1] [,2] [,3] [1,] "a" "b" "c" [2,] "a" "c" "b" [3,] "b" "a" "c" [4,] "b" "c" "a" [5,] "c" "a" "b" [6,] "c" "b" "a" The rows of the resulting matrix are all permutations of vector2. Hope this helps. Petr Savicky. ______________________________________________ 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.