Dear Frank,

Thank you for the quick response.

I am familiar with the tradeoffs between integers and doubles.  However, I do 
not believe this answers my question.

If you look at the help information for the as() function it says:  "as(x, 
"numeric") uses the existing as.numeric function."  But clearly the result is 
different in each case.

If the help for as() is correct, then as(1:10, "numeric") should also return 
doubles, and the second argument is not ignored.

Erik


> On Feb 1, 2016, at 8:16 AM, Franklin Bretschneider <brets...@xs4all.nl> wrote:
> 
> Dear Erik Wright,
> 
> 
> Re:
> 
>> 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,
> 
> Frank
> ---
> 
> 
> 
> 
> Franklin Bretschneider
> Dept of Biology
> Utrecht University
> brets...@xs4all.nl
> 
> 
>

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to