[R] Help with if else statement

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Wed Aug 7 21:12:53 CEST 2019


The ifelse() construction is fast, but after a couple of nested iterations,
it gets messy and error-prone; so I believe to be avoided.

In your case, there is a much better alternative, ?pmax . Ergo, something
like:

pt$pheno <- do.call(pmax, pt[, -1])

?do.call is necessary to pass the list of columns pt[, -1] to pmax.

Cheers,
Bert


Bert Gunter

"The trouble with having an open mind is that people keep coming along and
sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )


On Wed, Aug 7, 2019 at 11:55 AM Ana Marija <sokovic.anamarija using gmail.com>
wrote:

> does this look ok:
>
> pt$pheno=ifelse(pt$phenoQ==-9 & pt$phenoH==-9,-9,ifelse(pt$phenoH==2 |
> pt$phenoQ==2,2,1))
>
> On Wed, Aug 7, 2019 at 1:40 PM Ana Marija <sokovic.anamarija using gmail.com>
> wrote:
> >
> > Hello,
> >
> > I have a data frame which looks like this:
> >
> > > head(pt)
> >      eidQ phenoQ phenoH
> > 1 1000017     -9     -9
> > 2 1000025     -9     -9
> > 3 1000038     -9      1
> > 4 1000042     -9     -9
> > 5 1000056     -9     -9
> > 6 1000074     -9     -9
> > 7   1000038     -9      1
> > 8  1000127      2      1
> > 9  1000690      2     -9
> > 10  1000711      2     -9
> > 11 1001431      2      1
> > 12 1001710     -9      1
> >
> > I would like to create the 3rd column called "pheno" which would have
> > these values:
> > -9,-9,1,-9,-9,-9,1,2,2,2,2,1
> >
> > so in other words:
> > -if -9 appears in both phenoQ and phenoH I will have -9 in pheno
> > -if 2 appears in any of phenoQ or phenoH I will have 2 in pheno
> > -if I have -9 and 1 or 1 and -9 in those columns I will have 1 in pheno
> > -if I have -9 and 2 or 2 and -9 in those columns I will have 2 in pheno
> >
> > Can you please tell me how my if else statement would look like or any
> > other way how to do that in R if my data frame name is "pt"
> >
> > Thanks
> > Ana
> > Ana
>
> ______________________________________________
> R-help using 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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list