Jenny This following example works: > real.d <- rep(NA,30) > real.b <- rep(NA,30) > b1=runif(1); b2=runif(1); t1=runif(1); t2=runif(1) > if (length(real.d)>=30 && length(real.b)>=30 && b1*b2*t1*t2>0){bool=TRUE} > bool [1] TRUE
But this one doesn't: > real.d <- rep(NA,30) > real.b <- rep(NA,30) > b1=runif(1); b2=runif(1); t1=runif(1); t2=NA > if (length(real.d)>=30 && length(real.b)>=30 && b1*b2*t1*t2>0){bool=TRUE} Error in if (length(real.d) >= 30 && length(real.b) >= 30 && b1 * b2 * : missing value where TRUE/FALSE needed > NA's in the vector make no difference. && is correct. So, it appears at least one of your scalars is missing JFL -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jenny Stadt Sent: Tuesday, October 17, 2006 12:19 PM To: r-help@stat.math.ethz.ch Subject: [R] if statement error Hi List, I was not able to make this work. I know it is a simple one, sorry to bother. Give me some hints pls. Thanks! Jen if(length(real.d)>=30 && length(real.b)>=30 && beta1*beta2*theta1*theta2>0 ) { r <- 1; corr <- 1; } real.d and real.b are two vectors, beta1,beta2,theta1,and theta2 are constants. The error occurred like this: Error in if (length(real.d) >= 30 && length(real.b) >= 30 && beta1 * beta2 * : missing value where TRUE/FALSE needed [[alternative HTML version deleted]] ______________________________________________ R-help@stat.math.ethz.ch mailing list 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@stat.math.ethz.ch mailing list 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.