On May 3, 2013, at 10:24 AM, jpm miao <miao...@gmail.com> wrote: > I have a program, when I write > > if(num!=NA) > > it yields an error message. > > However, if I write > > if(is.na(num)==FALSE) > > it works. > > Why doesn't the first statement work? > > Thanks, > > Miao
NA is undefined: > NA == NA [1] NA > NA != NA [1] NA Therefore the equality you are attempting does not return a TRUE or FALSE result, it is unknown and NA is returned. ?is.na was designed specifically to test for the presence of an NA value and return a TRUE or FALSE result which can then be tested. See: http://cran.r-project.org/doc/manuals/r-release/R-intro.html#Missing-values Regards, Marc Schwartz ______________________________________________ R-help@r-project.org 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.