[R] Why can't R understand if(num!=NA)?

Marc Schwartz marc_schwartz at me.com
Fri May 3 18:02:48 CEST 2013


On May 3, 2013, at 10:24 AM, jpm miao <miaojpm at 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



More information about the R-help mailing list