# as.numeric changes?

Martin Maechler Martin Maechler <maechler@stat.math.ethz.ch>
Mon, 5 Jan 1998 10:23:16 +0100

[another spill over from R-core
concering the new behavior of as.numeric(.) for factors. - MM]

>>>>> "Ross" == Ross Ihaka <ihaka@stat.auckland.ac.nz> writes:

Ross> Thomas Lumley writes:
> On 27 Dec 1997, Peter Dalgaard BSA wrote:
> > Thomas Lumley <thomas@biostat.washington.edu> writes:
> >
> > > Now as.numeric() operates on the levels of the factor
> > > 	 > as.numeric(factor(c("2","3")))
> > > 	 [1] 2 3
> > > 	 > as.numeric(factor(c("A","B")))
> > > 	 [1] NA NA
> > >
> > > Is this new behaviour a feature? If so, we need to document it in the FAQ
> > > and the help page.
> >
> > I seem to remember that it got changed in S-plus 3.4 -> 4.0 ? I also
> > prefer the old behavior, but perhaps codes() is better anyway?

codes(.) is now well documented.
Maybe we should add some extra like

Note that  \code{\link{as.numeric}(f)} does \emph{not} give the same as
\code{codes(f)}.  This is not compatible to version of Splus prior to 4.0

>> We are entirely Unix-based here, so I haven't seen Splus 4.0. I'm
>> happy to have the new version of as.numeric but I think it needs
>> documentation as an incompatibility at least with Unix S(-PLUS).

Ross> Mea culpa.  I as attempting to get rid of what I though was an S
Ross> incompatibility and succeeded in replacing it with another.

Ross> I'm not very happy with:

>> as.numeric(factor(c(100, 200)))
Ross> 	[1] 1 2

Ross> but I can live with it.

Ok, I've now checked it on our PC (S-plus 4.0):
This is the same as  S 4 ("L"), S-plus 3.4 and S-plus 4.0

On the other hand,

> as.numeric(factor(c("A","B")))
[1] NA NA

is not compatible to any version of S-plus or S 4
and I now wonder if we shouldn't go for compatibility here.

- Martin
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._