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.