S Ellison
2018-Aug-02 11:26 UTC
[R] Combinations of true/false values where one pair is mutually exclusive
> On Thu, Aug 2, 2018 at 11:20 AM, R Stafford <rod.stafford at 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 use...{{dropped:8}}
R Stafford
2018-Aug-02 15:41 UTC
[R] Combinations of true/false values where one pair is mutually exclusive
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 at lgcgroup.com> wrote:> > On Thu, Aug 2, 2018 at 11:20 AM, R Stafford <rod.stafford at 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}}
MacQueen, Don
2018-Aug-02 15:52 UTC
[R] Combinations of true/false values where one pair is mutually exclusive
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')) > XD 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 925-423-1062 Lab cell 925-724-7509 ?On 8/2/18, 8:41 AM, "R-help on behalf of R Stafford" <r-help-bounces at r-project.org on behalf of rod.stafford at 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 at lgcgroup.com> wrote: > > On Thu, Aug 2, 2018 at 11:20 AM, R Stafford <rod.stafford at 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 at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
Sarah Goslee
2018-Aug-02 15:57 UTC
[R] Combinations of true/false values where one pair is mutually exclusive
Given that clarification, I'd just generate the full set and remove the ones you aren't interested in, as in: scenarios <- expand.grid(A = c("pass", "fail"), B = c("pass", "fail"), C c("pass", "fail"), D = c("pass", "fail"), E = c("pass", "fail"), F c("pass", "fail")) scenarios <- subset(scenarios, !(E == "fail" & F == "fail)) Sarah On Thu, Aug 2, 2018 at 11:41 AM, R Stafford <rod.stafford at 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 at lgcgroup.com> wrote: > >> > On Thu, Aug 2, 2018 at 11:20 AM, R Stafford <rod.stafford at 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 >> >> >>