[R] Factor to numeric conversion - as.numeric(as.character(f))[f] - Language definition seems to say to not use this.
gunter.berton at gene.com
Mon Apr 1 21:58:54 CEST 2013
Yup. Note also:
function (x, ...)
But of course this is OK, since this can change if the implementation
does. Which is the whole point, of course.
On Mon, Apr 1, 2013 at 12:16 PM, Matthew Lundberg
<matthew.k.lundberg at gmail.com> wrote:
> When used as an index, the factor is implicitly converted to integer. In
> the expression as.numeric(levels(f))[f], the vector as.numeric(levels(f))
> is indexed by as.integer(f).
> This appears to rely on the current implementation, as mentioned in section
> 2.3.1 of the language definition.
> On Mon, Apr 1, 2013 at 1:49 PM, Peter Ehlers <ehlers at ucalgary.ca> wrote:
> > On 2013-04-01 10:48, Matthew Lundberg wrote:
> >> These two seem to be at odds. Is this the case?
> >> From help(factor) - section Warning:
> >> To transform a factor f to approximately its original numeric values,
> >> as.numeric(levels(f))[f] is recommended and slightly more efficient than
> >> as.numeric(as.character(f)).
> >> From the language definition - section 2.3.1:
> >> Factors are currently implemented using an integer array to specify the
> >> actual levels and
> >> a second array of names that are mapped to the integers. Rather
> >> unfortunately users often
> >> make use of the implementation in order to make some calculations easier.
> >> This, however,
> >> is an implementation issue and is not guaranteed to hold in all
> >> implementations of R.
> > Hint:
> > f <- factor(sample(5, 10, TRUE))
> > as.numeric(levels(f))[f]
> > g <- factor(sample(letters[1:5], 10, TRUE))
> > as.numeric(levels(g))[g]
> > Peter Ehlers
> >> [[alternative HTML version deleted]]
> >> ______________________________**________________
> >> R-help at r-project.org mailing list
> >> https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help>
> >> PLEASE do read the posting guide http://www.R-project.org/**
> >> posting-guide.html <http://www.R-project.org/posting-guide.html>
> >> and provide commented, minimal, self-contained, reproducible code.
> [[alternative HTML version deleted]]
> R-help at r-project.org mailing list
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
Genentech Nonclinical Biostatistics
Internal Contact Info:
More information about the R-help