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: hpa...@fredhutch.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to