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 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20200613/40a643bb/attachment.sig>
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 at 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 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.
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 at 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 at 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 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. > > ______________________________________________ > 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.