Hi Jeremie, when I try to reproduce your code this is what I get:
> a=setDT(a) > head(a) FID IID CURRELIG PLASER RTNPTHY 1: fam0110 G110 2 2 2 2: fam0113 G113 2 2 2 3: fam0114 G114 2 2 2 4: fam0117 G117 2 2 2 5: fam0118 G118 2 NA 2 6: fam0119 G119 2 1 2 > a=a[,PHENO:=NA] > head(a) FID IID CURRELIG PLASER RTNPTHY PHENO 1: fam0110 G110 2 2 2 NA 2: fam0113 G113 2 2 2 NA 3: fam0114 G114 2 2 2 NA 4: fam0117 G117 2 2 2 NA 5: fam0118 G118 2 NA 2 NA 6: fam0119 G119 2 1 2 NA > a=a[PLASER==2|RTNPTHY==2,PHENO:=2] Warning message: In `[.data.table`(a, PLASER == 2 | RTNPTHY == 2, `:=`(PHENO, 2)) : 2.000000 (type 'double') at RHS position 1 taken as TRUE when assigning to type 'logical' (column 6 named 'PHENO') Please advise, Ana On Wed, Sep 23, 2020 at 2:48 PM Jeremie Juste <jeremieju...@gmail.com> wrote: > > > Hello Ana Marija, > > I cannot reproduce your error, > > with a$PHENO=ifelse(a$PLASER==2 |a$RTNPTHY==2, 2, ifelse(a$CURRELIG==1 | > a$RTNPTHY==1,1,NA)) > For instance I have the expected PHENO=2 > > > FID IID CURRELIG PLASER RTNPTHY PHENO > > 39: fam5706 G5706 1 1 2 2 > > In general I find nested ifelse to be difficult to work with especially > when I am tired :-). I would suggest this alternative way instead. It uses > data.table and you can investigate each step if you need to. > > library(data.table) > setDT(a) > a[,PHENO:=NA] > a[PLASER==2|RTNPTHY==2,PHENO:=2] > a[is.na(PHENO)&(CURRELIG==1|RTNPTHY==1),PHENO:=1] > > > HTH, > Jeremie > > a <- read.table(text="FID,IID,CURRELIG,PLASER,RTNPTHY > fam5610,G5610,1,1,1 > fam5614,G5614,1,2,2 > fam5615,G5615,1,1,1 > fam5618,G5618,1,1,2 > fam5621,G5621,1,1,1 > fam5624,G5624,1,1,2 > fam5625,G5625,1,1,1 > fam5628,G5628,1,2,2 > fam5633,G5633,1,2,2 > fam5634,G5634,1,1,1 > fam5635,G5635,2,2,2 > fam5636,G5636,1,1,1 > fam5641,G5641,1,1,1 > fam5645,G5645,2,1,2 > fam5646,G5646,2,2,2 > fam5654,G5654,1,2,2 > fam5655,G5655,1,2,2 > fam5656,G5656,2,2,2 > fam5658,G5658,1,1,1 > fam5659,G5659,2,2,2 > fam5660,G5660,1,1,1 > fam5661,G5661,2,2,2 > fam5664,G5664,1,1,1 > fam5666,G5666,1,1,1 > fam5667,G5667,1,1,2 > fam5670,G5670,1,1,1 > fam5671,G5671,1,1,2 > fam5672,G5672,1,1,2 > fam5673,G5673,1,1,1 > fam5680,G5680,1,2,2 > fam5686,G5686,1,2,2 > fam5687,G5687,1,2,2 > fam5688,G5688,1,1,2 > fam5693,G5693,2,1,1 > fam5695,G5695,1,1,1 > fam5697,G5697,1,1,1 > fam5700,G5700,1,2,2 > fam5701,G5701,1,1,1 > fam5706,G5706,1,1,2 > fam5709,G5709,1,1,1 > fam5713,G5713,1,1,1 > fam5715,G5715,1,1,1 > fam5718,G5718,1,1,1",sep=",", header=TRUE) > > > > > > ______________________________________________ R-help@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.