A "matching problem"
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.