[Numpy-discussion] feedback request: proposal to add masks to the core ndarray

Nathaniel Smith njs at pobox.com
Thu Jun 23 21:41:38 EDT 2011


On Thu, Jun 23, 2011 at 5:56 PM, Benjamin Root <ben.root at ou.edu> wrote:
> Lastly, I am not entirely familiar with R, so I am also very curious about
> what this magical "NA" value is, and how it compares to how NaNs work.
> Although, Pierre brought up the very good point that NaNs woulldn't work
> anyway with integer arrays (and object arrays, etc.).

Since R is designed for statistics, they made the interesting decision
that *all* of their core types have a special designated "missing"
value. At the R level this is just called "NA". Internally, there are
a bunch of different NA values -- for floats it's a particular NaN,
for integers it's INT_MIN, for booleans it's 2 (IIRC), etc. (You never
notice this, because R will silently cast a NA of one type into NA of
another type whenever needed, and they all print the same.)

Because any array can contain NA's, all R functions then have to have
some way of handling this -- all their integer arithmetic knows that
INT_MIN is special, for instance. The rules are basically the same as
for NaN's, but NA and NaN are different from each other (because one
means "I don't know, could be anything" and the other means "you tried
to divide by 0, I *know* that's meaningless").

That's basically it.

-- Nathaniel



More information about the NumPy-Discussion mailing list