[R] if one of 4 conditions is not satisfied
mysimbaa
adel.tekari at sisltd.ch
Tue Jul 1 19:08:29 CEST 2008
Thank you very much for your precise help.
I will try to implement this tomorrow.
It looks like the best solution which could be done.
Greetings,
Adel Tekari
Marc Schwartz wrote:
>
> on 07/01/2008 07:40 AM mysimbaa wrote:
>> I'm trying to do realize the following:
>> I have 4 condtions.
>> If all conditions are satisfied I will paste("PASS")
>> If any of these is not satisfied I will paste("FAIL"). But I have to
>> paste
>> the corresponding failure.
>>
>> ifelse is a good solution but for a 2 conditions. Maybe switch or
>> something
>> like this.
>>
>> Does anyone have an idea how to do?
>>
>> Thanks in advance.
>> Adel
>
> An easy way would be to have your condition results, which are
> presumably TRUE/FALSE, in a vector such as:
>
> Cond <- c(TRUE, FALSE, FALSE, TRUE)
>
> Then you could use all() to check to see if they are 'all' TRUE:
>
> > all(Cond)
> [1] FALSE
>
> Then use which() to get the index of the FALSE elements:
>
> > which(!Cond)
> [1] 2 3
>
> If you have your test labels in a character vector, such as:
>
> Cond.Vec <- c("Cond 1", "Cond 2", "Cond 3", "Cond 4")
>
> You could then use:
>
> if (all(Cond)) {
> Out <- "PASS"
> } else {
> Out <- paste("FAIL:", paste(Cond.Vec[which(!Cond)],
> collapse = " & "))
> }
>
>
> > Out
> [1] "FAIL: Cond 2 & Cond 3"
>
>
> See ?all and ?which
>
> HTH,
>
> Marc Schwartz
>
> ______________________________________________
> R-help at 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.
>
>
--
View this message in context: http://www.nabble.com/if-one-of-4-conditions-is-not-satisfied-tp18214194p18220836.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list