matrix() can't handle NaN (PR#193)

Prof Brian Ripley Prof Brian Ripley <>
Tue, 11 May 1999 15:54:19 +0100 (BST)

> Date: Tue, 11 May 1999 16:26:43 +0200 (MET DST)
> From:
> To:
> Subject: Re: matrix() can't handle NaN (PR#193)
> Bill [Simpson] argues that NaN should be treated as a number, 
> even by read.table() and I think he is right.
> { scan(.) does fine !  it *does* treat NaN as numbers ! }
> At the moment, I don't even see where the problem is;
> the read.table internal function  type.convert()
> does well with NaN's :
>      > cc <- as.character(c(pi,NaN))
>      > str(type.convert(cc))
>       num [1:2] 3.14  NaN

The field is regarded as a character field unless  na.strings is
extended to include NaN.

I am not in favour of treating NaN as a number, which is linguistic nonsense!
(What does NaN stand for?)

First, in IEEE arithmetic, NaN is a class of numbers as I understand it
(and internally in R NA is one of those NaNs).  So just which one do
you mean?  And what are you going to achieve by having essentially a
second NA, except to blur the real purposes of NaNs?

Secondly, on non-IEEE implementations of R, I believe NaN = NA: in any
case we should not lightly be making IEEE features an essential part of the
language. (Or with the gradual demise of Vaxen is IEEE arithmetic now
universal: I still have a Sun running with a special-purpose non-IEEE
floating-point unit.)

Brian D. Ripley,        
Professor of Applied Statistics,
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

r-devel mailing list -- Read
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: