The following provides a sample use if "is.na" in an context
similar to yours, that also uses vector arithmetic, so you don't need a
loop:
> tst <- (-2):2
> (tst2 <- 1+tst/(tst^2))
[1] 0.5 0.0 NaN 2.0 1.5
> (sel <- (tst2==0))
[1] FALSE TRUE NA FALSE FALSE
> sel[is.na(tst2)] <- FALSE
> tst2[sel] <- 123
> tst2
[1] 0.5 123.0 NaN 2.0 1.5
hope this helps. spencer graves
michael watson (IAH-C) wrote:
Some careful use of is.na() may help.
Either by using it to remove NA values or as part of the if statement.
Or:
my.wdir <- na.omit(dat$wdir)
for(i in 1:length(my.wdir)) {
#etc
-----Original Message-----
From: [EMAIL PROTECTED] on behalf of [EMAIL PROTECTED]
Sent: Fri 2/11/2005 9:34 PM
To: [email protected]
Cc:
Subject: [R] NA's in if statement
Hello,
I am having trouble dealing with NA values in if statements such as:
i<-1
for(i in 1:length(dat$wdir)){
if (dat$wspd[i]==0){
dat$wdir[i]<-0
}
}
I get the following error due to the presence of NS values in the data:
Error in if (dat$wspd[i] == 0) { : missing value where TRUE/FALSE needed
Sorry if this is an old question but I was unable to resolve this from
the
info on na.action etc. or old archives.
Thank you for any suggestions,
Vera Lindsay
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html