[R] if statement error
Lucke, Joseph F
Joseph.F.Lucke at uth.tmc.edu
Tue Oct 17 20:17:07 CEST 2006
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: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Jenny Stadt
Sent: Tuesday, October 17, 2006 12:19 PM
To: r-help at 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 at 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.
More information about the R-help
mailing list