Hi Ray,

First possibility: just select those combinations that contain "AL":
combos.with.AL <- possible.combos[rowSums(possible.combos=="AL")>0,]

Second possibility: create all 3-combos *without* "AL":
bands.without.AL <- c("B", "DB", "DG", "G", "K", "LB", "LG", "MG", "O", "P", "PI", "PK", "PU", "R", "V", "W", "Y")
possible.combos.without.AL <- permutations(17, 3, bands.without.AL)

Then insert "AL" in the first, second, third and fourth position of this matrix:
foo <- cbind("AL",possible.combos.without.AL)
combos.with.AL <- rbind(foo,foo[,c(2,1,3,4)],foo[,c(2,3,1,4)],foo[,c(2,3,4,1)])

The first one is easier to understand but requires you to first build the big object possible combos, most of which you discard. May be a problem in larger instances.

HTH,
Stephan


Raymond Danner schrieb:
Dear R community,

I am trying to create a matrix of permutations of a vector:
bands <- c("AL", "B", "DB", "DG", "G", "K", "LB", "LG", "MG", "O", "P",
"PI", "PK", "PU", "R", "V", "W", "Y")

Each permutation must be 4 characters long. permutations() from the gtools
package does this easy enough:
possible.combos <- permutations(18, 4, bands)

However, ³AL² must be one of the elements in each permutation.
Any ideas?

Thanks in advance,
Ray

        [[alternative HTML version deleted]]



------------------------------------------------------------------------

______________________________________________
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.

Reply via email to