Skip to content
Back to formatted view

Raw Message

Message-ID: <7D89DC3F-6946-4F45-8C6D-27327662F03F@me.com>
Date: 2013-05-03T16:02:48Z
From: Marc Schwartz
Subject: Why can't R understand if(num!=NA)?
In-Reply-To: <CABcx46DOkqo+2njKqaFyaxBN7YRBj7YKn_r3TkQw1JUi9m4Tfg@mail.gmail.com>

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