Yup. Note also: > as.character.factor function (x, ...) levels(x)[x]
But of course this is OK, since this can change if the implementation does. Which is the whole point, of course. -- Bert On Mon, Apr 1, 2013 at 12:16 PM, Matthew Lundberg <matthew.k.lundb...@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 <ehl...@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@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@r-project.org mailing list > 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. -- Bert Gunter Genentech Nonclinical Biostatistics Internal Contact Info: Phone: 467-7374 Website: http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm ______________________________________________ R-help@r-project.org mailing list 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.