[R] if else statement adjustemtn
Ana Marija
@okov|c@@n@m@r|j@ @end|ng |rom gm@||@com
Sat Jun 13 05:59:13 CEST 2020
Great idea!
Here it is:
> b[is.na(b$FLASER) | is.na(b$PLASER),]
FID IID FLASER PLASER pheno
1: fam1837 G1837 1 NA 2
2: fam2410 G2410 NA NA 2
3: fam2838 G2838 NA 2 2
4: fam3367 G3367 1 NA 2
5: fam3410 G3410 1 NA 2
6: fam3492 G3492 1 NA 2
7: fam3834 G3834 2 NA 2
8: fam4708 G4708 NA 2 2
9: fam5162 G5162 NA NA 2
10: fam5274 G5274 NA NA 2
11: fam0637 G637 NA NA 2
12: fam0640 G640 NA NA 2
13: fam0743 G743 NA NA 2
14: fam0911 G911 NA NA 2
On Fri, Jun 12, 2020 at 10:29 PM Jim Lemon <drjimlemon using gmail.com> wrote:
>
> Since you have only a few troublesome NA values, if you look at them,
> or even better, post them:
>
> b[is.na(b$FLASER) | is.na(b$PLASER),]
>
> perhaps we can work out the appropriate logic to get rid of only the
> ones you don't want.
>
> Jim
>
> On Sat, Jun 13, 2020 at 12:50 PM Ana Marija <sokovic.anamarija using gmail.com> wrote:
> >
> > Hi Rasmus,
> >
> > thank you for getting back to be, the command your provided seems to
> > add all 11 NAs to 2s
> > > b$pheno <-
> > + ifelse(b$PLASER==2 |
> > + b$FLASER==2 |
> > + is.na(b$PLASER) |
> > + is.na(b$PLASER) & b$FLASER %in% 1:2 |
> > + is.na(b$FLASER) & b$PLASER == 2,
> > + 2, 1)
> > > table(b$pheno, exclude = NULL)
> >
> > 1 2
> > 859 839
> >
> > Once again my desired results is to keep these 7 NAs as NAs
> > > table(b$PLASER,b$FLASER, exclude = NULL)
> >
> > 1 2 3 <NA>
> > 1 836 14 0 0
> > 2 691 70 43 2
> > 3 2 7 21 0
> > <NA> 4 1 0 7
> >
> > and have
> > 825 2s (825=691+14+70+7+43)
> > and the rest would be 1s (866=1698-7-825)
> >
> > On Fri, Jun 12, 2020 at 9:29 PM Rasmus Liland <jral using posteo.no> wrote:
> > >
> > > On 2020-06-13 11:30 +1000, Jim Lemon wrote:
> > > > On Fri, Jun 12, 2020 at 8:06 PM Jim Lemon wrote:
> > > > > On Sat, Jun 13, 2020 at 10:46 AM Ana Marija wrote:
> > > > > >
> > > > > > I am trying to make a new column
> > > > > > "pheno" so that I reduce the number
> > > > > > of NAs
> > > > >
> > > > > it looks like those two NA values in
> > > > > PLASER are the ones you want to drop.
> > > >
> > > > From just your summary table, it's hard to
> > > > guess the distribution of NA values.
> > >
> > > Dear Ana,
> > >
> > > This small sample
> > >
> > > b <- read.table(text="FLASER;PLASER
> > > 1;2
> > > ;2
> > > ;
> > > 1;
> > > 2;
> > > 2;2
> > > 3;2
> > > 3;3
> > > 1;1", sep=";", header=TRUE)
> > >
> > > table(b$PLASER,b$FLASER, exclude = NULL)
> > >
> > > yields the same combinations you showed
> > > earlier:
> > >
> > > 1 2 3 <NA>
> > > 1 1 0 0 0
> > > 2 1 1 1 1
> > > 3 0 0 1 0
> > > <NA> 1 1 0 1
> > >
> > > If you want to eliminate the four <NA>-based
> > > combinations completely, this line
> > >
> > > b$pheno <-
> > > ifelse(b$PLASER==2 |
> > > b$FLASER==2 |
> > > is.na(b$PLASER) |
> > > is.na(b$PLASER) & b$FLASER %in% 1:2 |
> > > is.na(b$FLASER) & b$PLASER == 2,
> > > 2, 1)
> > > table(b$pheno, exclude = NULL)
> > >
> > > will do it:
> > >
> > > 1 2
> > > 2 7
> > >
> > > Best,
> > > Rasmus
> > > ______________________________________________
> > > 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.
> >
> > ______________________________________________
> > 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.
More information about the R-help
mailing list