Hypothesis regarding the thought process: integer is a perfect subset of numeric, so why split hairs? -- Sent from my phone. Please excuse my brevity.
On April 11, 2016 12:36:56 PM PDT, Bert Gunter <[email protected]> wrote: >Indeed! > >Slightly simplified to emphasize your point: > >> class(as(1:2,"numeric")) >[1] "integer" > >> class(as.numeric(1:2)) >[1] "numeric" > >whereas in ?as 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. " > >I suspect this is related to my ignorance of S4 classes (i.e. as() ) >and how they relate to S3 classes, but I certainly don't get it >either. > >Cheers, >Bert > > > >Bert Gunter > >"The trouble with having an open mind is that people keep coming along >and sticking things into it." >-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) > > >On Mon, Apr 11, 2016 at 9:30 AM, Paulson, Ariel <[email protected]> >wrote: >> Ok, I see the difference between 1 and 1:2, I'll just leave it as one >of those "only in R" things. >> >> But it seems then, that as.numeric() should guarantee a FALSE >outcome, yet it does not. >> >> To build on what Rolf pointed out, I would really love for someone to >explain this one: >> >>> str(1) >> num 1 >> >>> str(1:2) >> int [1:2] 1 2 >> >>> str(as.numeric(1:2)) >> num [1:2] 1 2 >> >>> str(as(1:2,"numeric")) >> int [1:2] 1 2 >> >> Which doubly makes no sense. 1) Either the class is "numeric" or it >isn't; I did not call as.integer() here. 2) method of recasting should >not affect final class. >> >> Thanks, >> Ariel >> >> >> -----Original Message----- >> From: Rolf Turner [mailto:[email protected]] >> Sent: Saturday, April 09, 2016 5:27 AM >> To: Jeff Newmiller >> Cc: Paulson, Ariel; '[email protected]' >> Subject: Re: [FORGED] Re: [R] identical() versus sapply() >> >> On 09/04/16 16:24, Jeff Newmiller wrote: >>> I highly recommend making friends with the str function. Try >>> >>> str( 1 ) >>> str( 1:2 ) >> >> Interesting. But to me counter-intuitive. Since R makes no >distinction between scalars and vectors of length 1 (or more accurately >I think, since in R there is *no such thing as a scalar*, only a vector >of length >> 1) I don't see why "1" should be treated in a manner that is >categorically different from the way in which "1:2" is treated. >> >> Can you, or someone else with deep insight into R and its rationale, >explain the basis for this difference in treatment? >> >>> for the clue you need, and then >>> >>> sapply( 1:2, identical, 1L ) >> >> cheers, >> >> Rolf >> >> -- >> Technical Editor ANZJS >> Department of Statistics >> University of Auckland >> Phone: +64-9-373-7599 ext. 88276 >> >> ______________________________________________ >> [email protected] 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. [[alternative HTML version deleted]] ______________________________________________ [email protected] 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.

