[R] as(, "numeric") vs as.numeric()

Franklin Bretschneider bretschr at xs4all.nl
Mon Feb 1 15:16:29 CET 2016

Dear Erik Wright,


> Could someone please explain this R behavior to me:
>> typeof(as.numeric(1:10))
> [1] "double"
>> typeof(as(1:10, "numeric"))
> [1] "integer"
> I expected "double" in both cases.  In the help for the "as" function it says:
> "Methods are pre-defined for coercing any object to one of the basic datatypes. For example, as(x, "numeric") uses the existing as.numeric function."

This happens because 1:10 yields only integers, and so can be stored cheap,
whereas as.numeric() actually means: as.double.
The "numeric" in the second line is an unused argument.

Best regards,


Franklin Bretschneider
Dept of Biology
Utrecht University
bretschr at xs4all.nl

More information about the R-help mailing list