On Wed, 18 Aug 2004, Göran Broström wrote: > On Wed, Aug 18, 2004 at 09:30:50AM +0100, Prof Brian Ripley wrote: > > On Wed, 18 Aug 2004, Göran Broström wrote: > > > > > I'm trying a recommendation on the help page for 'factor': > > > > > > > x <- c(1, 2, 1, 2) > > > > x <- factor(x, labels = c("one", "two")) > > > > x > > > [1] one two one two > > > Levels: one two > > > > as.numeric(levels(x))[x] > > > [1] NA NA NA NA > > > Warning message: > > > NAs introduced by coercion > > > > > > Also, > > > > > > > as.numeric(as.character(x)) > > > [1] NA NA NA NA > > > Warning message: > > > NAs introduced by coercion > > > > > > What am I doing wrong? This is R-1.9.1, Linux (debian installation) > > > > Your factor is made up of "one", "two", which are not numeric -- don't > > expect R to speak English (or Swedish). You could just as easily have > > used labels = c("apples", "oranges"). > > Didn't work either. :-) > > I really want the underlying numeric codes (convert the variable to numeric). > 'as.integer(x)' seems to do the trick, is that correct? Also 'as.numeric(x)', > although it is "meaningless" according to the help page.
as.integer is OK, but unclass() is the usual way (it doesn't lose the other attributes such as names). x <- factor(1:10) names(x) <- letters[1:10] > as.integer(x) [1] 1 2 3 4 5 6 7 8 9 10 > unclass(x) a b c d e f g h i j 1 2 3 4 5 6 7 8 9 10 attr(,"levels") [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" > > > Another question: I have a factor with four levels, which I want > > > to collapse to two. How do I do it in the simplest possible way? > > > > via levels<- : there is an example on the help page for levels. > > Thanks; exactly what I was looking for. -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html