[Rd] behavior of as.integer("5000000000")
Hervé Pagès
hpages at fredhutch.org
Tue Apr 14 08:36:14 CEST 2015
On 04/13/2015 11:32 PM, Martin Maechler wrote:
>
>> Hi,
>> > as.integer("5000000000")
>> [1] 2147483647
>> Warning message:
>> inaccurate integer conversion in coercion
>
>> > as.integer("-5000000000")
>> [1] NA
>> Warning message:
>> inaccurate integer conversion in coercion
>
>> Is this a bug or a feature? The man page suggests it's the
>> latter:
>
> I think you mean the "former", a bug.
>
> and I agree entirely, see the following " 2 x 2 " comparison :
>
> > N <- 5000000000000 * 8^-(0:7)
> > as.integer(N)
> [1] NA NA NA NA 1220703125 152587890 19073486 2384185
> Warning message:
> NAs introduced by coercion
> > as.integer(-N)
> [1] NA NA NA NA -1220703125 -152587890 -19073486
> [8] -2384185
> Warning message:
> NAs introduced by coercion
> > as.integer(as.character(N))
> [1] 2147483647 2147483647 2147483647 2147483647 1220703125 152587890 19073486 2384185
> Warning message:
> inaccurate integer conversion in coercion
> > as.integer(as.character(-N))
> [1] NA NA NA NA -1220703125 -152587890 -19073486
> [8] -2384185
> Warning message:
> inaccurate integer conversion in coercion
>
>
>
>> ‘as.integer’ attempts to coerce its argument to be of integer
>> type. The answer will be ‘NA’ unless the coercion succeeds.
>
>> even though someone could always argue that coercion of "5000000000"
>> succeeded (for some definition of "succeed").
>
>> Also is there any reason why the warning message is different than
>> with:
>
>> > as.integer(-5000000000)
>> [1] NA
>> Warning message:
>> NAs introduced by coercion
>
>> In the case of as.integer("-5000000000"), it's not really that the
>> conversion was "inaccurate", it's a little bit worse than that. And
>> knowing that NAs where introduced by coercion is important.
>
> Yes.
> The message is less a problem than the bug, but I agree we
> should try to improve it.
Sounds good. Thanks Martin,
H.
>
> Martin
>
>
>> --
>> Hervé Pagès
>> ...................
--
Hervé Pagès
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024
E-mail: hpages at fredhutch.org
Phone: (206) 667-5791
Fax: (206) 667-1319
More information about the R-devel
mailing list