[R] Combinations of true/false values where one pair is mutually exclusive

MacQueen, Don m@cqueen1 @end|ng |rom ||n|@gov
Thu Aug 2 17:52:57 CEST 2018

From what I can tell, the simplest way is to
   First generate all the combinations
   Then exclude those you don't want.

Here's an example, with only three variables (D, E, and F), that excludes those where E and F both fail

> tmp <- c('p','f')
> X <- expand.grid(D=tmp, E=tmp, F=tmp)
> X <- subset(X, !(E=='f' & F=='f'))
> X
  D E F
1 p p p
2 f p p
3 p f p
4 f f p
5 p p f
6 f p f

Don MacQueen
Lawrence Livermore National Laboratory
7000 East Ave., L-627
Livermore, CA 94550
Lab cell 925-724-7509

On 8/2/18, 8:41 AM, "R-help on behalf of R Stafford" <r-help-bounces using r-project.org on behalf of rod.stafford using gmail.com> wrote:

    Thank you for pointing that out, I realize not only did I use the wrong
    language but I did not describe the situation accurately.  I do need to
    address the situation where both variables E and F actually pass, that is
    the majority case, one or the other can fail, but there can never be a
    situation where E and F both fail.  I do not know a specific term for that
    situation, but you are correct that mutual exclusivity is wrong.   While I
    can generate a list of all possible combinations with the expand.grid
    function (which I am not committed to by the way), it would be very helpful
    if I could exclude the combinations where E and F both fail.  I am not sure
    where to go from here, but the solution does not have to be elegant or even
    efficient because I do not need to scale higher than 6 variables.
    On Thu, Aug 2, 2018 at 7:26 AM, S Ellison <S.Ellison using lgcgroup.com> wrote:
    > > On Thu, Aug 2, 2018 at 11:20 AM, R Stafford <rod.stafford using gmail.com>
    > > wrote:
    > > > But I have the extra condition that if E is true, then F must be
    > false, and
    > > > vice versa,
    > Question: Does 'vice versa' mean
    > a) "if E is False, F must be True"
    > or
    > b) "if F is True, E must be False"?
    > ... which are not the same.
    > b) (and mutual exclusivity in general) does not rule out the condition "E
    > False, F False", which would not be addressed by the
    > pass/fail equivalent equivalent of F <- !E
    > *******************************************************************
    > This email and any attachments are confidential. Any u...{{dropped:13}}
    R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
    PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list