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

Duncan Murdoch murdoch.duncan at gmail.com
Mon Feb 1 16:33:41 CET 2016


On 01/02/2016 10:00 AM, Erik Wright wrote:
> 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.

Since is.numeric(1:10) and is(1:10, "numeric") are both true, the as() 
function eventually bails out and does nothing.  So yes, as(x, 
"numeric") uses as.numeric() when it needs to coerce, but not when no 
coercion is necessary.   The docs could perhaps add this condition.

Duncan Murdovh
>
> 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 <bretschr at 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
> > bretschr at xs4all.nl
> >
> >
> >
>
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list