Hello Ana Marija,
Apologies, the warning escaped me. When Pheno is assigned NA . > a=a[,PHENO:=NA] It is assigned a NA of type logical by default. We just have to make sure it is an NA of type numeric > a[,PHENO:=1.0*NA] So the full set of commands is: library(data.table) setDT(a) a[,PHENO:=1.0*NA] a[PLASER==2|RTNPTHY==2,PHENO:=2] a[is.na(PHENO)&(CURRELIG==1|RTNPTHY==1),PHENO:=1] Best regards, Jeremie Ana Marija <sokovic.anamar...@gmail.com> writes: > 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.