[R] as.numeric(".") returns 0
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Jun 12 14:58:41 CEST 2008
On Thu, 12 Jun 2008, Peter Dalgaard wrote:
> Paul Johnson wrote:
>> In R version 2.7.0 (2008-04-22) as.numeric(".") returns zero.
>>> as.numeric(".")
>> [1] 0
>>
>> This must be a bug. Splus and previous versions of R (<= 2.6.0) return NA,
>> as you might expect.
Depends who is doing the expecting. Americans think '.9' is a number, and
everyone thinks '3.' is, so you can leave out numbers before or after the
decimal point and have them taken as zero. And POSIX's description of
strtod does imply that '.' represents '0.0'.
Note that in (AFAIK) 'Splus' and previous versions of R this depended on
the OS, and OSes were not consistent as to what was a number.
>> I'm running R version 2.7.0 (2008-04-22) on Windows XP.
>>
> I suspect that this got fixed along with the "lone sign" issue. I have
Yes, changed (there is no unanimity as to what the rules should be). The R
rule now is that you must have at least one digit in a number (not
counting the exponent, if there is one).
> R version 2.7.0 Patched (2008-06-12 r45900)
> Copyright (C) 2008 The R Foundation for Statistical Computing
>
>> as.numeric(".")
> [1] NA
> Warning message:
> NAs introduced by coercion
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list