From p.dalgaard@biostat.ku.dk  Tue Nov  2 10:15:54 1999
From: p.dalgaard@biostat.ku.dk (Peter Dalgaard BSA)
Date: 02 Nov 1999 11:15:54 +0100
Subject: is.numeric(factor(...))  {was: bug in sample (PR#305)}
In-Reply-To: Martin Maechler's message of "Tue, 2 Nov 1999 10:47:20 +0100 (MET)"
References: <199911012133.WAA01606@pubhealth.ku.dk> <x21za9ri0d.fsf@blueberry.kubism.ku.dk> <19991101170315.Q13888@jimmy.harvard.edu> <14366.45864.342308.408958@gargle.gargle.HOWL>
Message-ID: <x2hfj5kxlx.fsf@blueberry.kubism.ku.dk>

Martin Maechler <maechler@stat.math.ethz.ch> writes:

> Before turning this into a new bug report (not connected to sample() at all):
> { factor() behavior redesigning must be done carefully... }
> Some detective work reveals
> 
> R versions from 0.50 to 0.61.3  all give
> 
>   is.numeric(gl(3,5,15)) 
> 			 |-> FALSE
> 
> Since R version 0.62.1 (June 15, 1998),
> the above gives TRUE.
>   
> The NEWS for 0.62[.1] has
> 
>     o	All internal mechanisms to support factors and data.frames have
> 	been removed.  These are now entirely supported by interpreted
> 	code!  `is.unordered' has been eliminated.  Thanks to John
> 	Chambers for allowing the distribution of his StatLib code.
> 
> i.e., they change occurded when we dropped the internal factor type...
> 
> --
> 
> Yes, my gut feeling also says that the current behavior is wrong...

We did have some debate over it at some point. The interesting thing
is that Splus has:

> mode(factor(letters[1:3]))
[1] "numeric"
> is.numeric(factor(letters[1:3]))
[1] F

> x<-1:3
> class(x)<-"foo"
> is.numeric(x)
[1] T
> attr(x,"levels")<-3:1
> is.numeric(x)
[1] T
> class(x)<-"facto"
> is.numeric(x) 
[1] T
> class(x)<-"factor"
> is.numeric(x)
[1] F

...which doesn't strike me as particularly logical. I believe that we
then decided not to be bug-compatible on this issue. What are the good
reasons to behave the Splus way?

-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk)             FAX: (+45) 35327907
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


is.numeric(factor(...)) {was: bug in sample (PR#305)}
Peter Dalgaard BSA