Re: [Rd] is.numeric (NA + NA) is TRUE, should be FALSE (PR#8745)

From: cheryl fillekes <cfillekes_at_gmail.com>
Date: Tue 04 Apr 2006 - 22:38:51 GMT

So this is perfectly consistent then:

> A <- NA
> B <- NA+NA
> B

[1] NA
> A

[1] NA
> is.numeric (A)

[1] FALSE
> is.numeric (B)

[1] TRUE
>

And the test based on value rather than type would be:

> !is.na(A)

[1] FALSE
> !is.na(B)

[1] FALSE On 4/4/06, Antonio, Fabio Di Narzo <antonio.fabio@gmail.com> wrote:
>
> 2006/4/4, cfillekes@gmail.com <cfillekes@gmail.com>:
>
> > Full_Name: c fillekes
> > Version: Version 2.2.1 (2005-12-20 r36812)
> > OS: Gentoo Linux kernel 2.6.12
> > Submission from: (NULL) (129.116.71.233)
> >
> >
> >
> >
> > "Not Available" is of course not a numeric:
> > R
> >
> > > is.numeric (NA)
> > [1] FALSE
>
>
> In the help you can read:
> "
> 'NA' is a logical constant of length 1 which contains a missing
> value indicator. 'NA' can be freely coerced to any other vector
> type except raw.
> "
> And in fact:
>
> > storage.mode(NA)
> [1] "logical"
> > storage.mode(NA+0)
> [1] "double"
> > storage.mode(as.numeric(NA))
> [1] "double"
> > storage.mode(as.character(NA))
> [1] "character"
>
> So in
> NA+NA
> the logical is automatically coerced to a numerical value, and is.numericreturns TRUE, as expected.
>
>
> But for some reason, all arithmetic operations on NA's are
> > in fact numeric, even if it's with other NA's.
> >
> >
> > > is.numeric (NA+NA)
> > [1] TRUE
> > > is.numeric (NA^2)
> > [1] TRUE
> > > is.numeric (NA-NA)
> > [1] TRUE
> > > is.numeric (NA*NA)
> > [1] TRUE
> > > is.numeric (NA/NA)
> > [1] TRUE
> > >
> >
> > This is not the expected thing.
>
>
> I think this is the expected thing.
>
> ______________________________________________
> > R-devel@r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >
>
>
> Antonio, Fabio Di Narzo.
>

        [[alternative HTML version deleted]]



R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed Apr 05 09:02:24 2006

This archive was generated by hypermail 2.1.8 : Wed 05 Apr 2006 - 00:16:56 GMT