I have a vector of elements named markers
of the form:
markers <- LETTERS[1:5]
Each element in markers
is of Boolean type with two possible conditions +
and -
. I would like a fast an efficient way to obtain all possible combinations, so that the two conditions are considered (a marker with cannot be paired with itself even if the condition is different).
The result would ideally be just a character vector or a list, where its elements are the marker combinations separated by /
.
The elements for this example with five letters should be:
A-/B-/C-/D-/E-
A-/B+/C-/D-/E-
A-/B-/C+/D-/E-
A-/B-/C-/D+/E-
A-/B-/C-/D-/E+
A-/B+/C+/D-/E-
A-/B+/C-/D+/E-
A-/B+/C-/D-/E+
A-/B+/C+/D+/E-
A-/B+/C+/D-/E+
A-/B+/C+/D+/E+
A+/B-/C-/D-/E-
A+/B+/C-/D-/E-
A+/B-/C+/D-/E-
A+/B-/C-/D+/E-
A+/B-/C-/D-/E+
A+/B+/C+/D-/E-
A+/B+/C-/D+/E-
A+/B+/C-/D-/E+
A+/B+/C+/D+/E-
A+/B+/C+/D-/E+
A+/B+/C+/D+/E+
...
Not sure if I'm missing any combination, but you get the idea... I've been trying with expand.grid
and combn
but I don't seem to get it right. Any help appreciated!
Thanks!
c('A','B','C'...)
but each element can adopt 2 possible forms-
or+
, as in 'A+', 'A-', 'B+', 'B-', etc. And I would like that reflected in the resulting combination vector (butA-
cannot combine withA+
for example) – Eyeleteer