On Sat, 17 Jan 2009, Charles C. Berry wrote:

On Sat, 17 Jan 2009, J?rg Gro? wrote:

 Hi,

 I know how to convert a factor-variable into a numeric variable via
 as.numeric().

 But how can I control the values that are assigned?


 For example, I have this factor-variable:


 z <- c("male", "male", "female")
 z <- as.factor(z)


 And I want to convert male in 3 and female into the numeric value 5 (just
 for the example)

 so that I get:

 [1] 3 3 5


Like this:
 z <- c("male", "male", "female")
 z <- as.factor(z)

Oops! I forgot to copy this line

num.codes <- c(male = 3, female = 5 )


 num.codes[ levels(z) ][ z ]
  male   male female
     3      3      5

or if you want to avoid the names():

 z.to.num <- unname(num.codes)[ match(levels(z),names(num.codes)) ]
 z.to.num[ z ]
[1] 3 3 5



See

         ?as.character
         ?match
         ?levels

HTH,

Chuck



 Thanks for any help!

 ______________________________________________
 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.


Charles C. Berry                            (858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cbe...@tajo.ucsd.edu               UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901




Charles C. Berry                            (858) 534-2098
                                            Dept of Family/Preventive Medicine
E mailto:cbe...@tajo.ucsd.edu               UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

______________________________________________
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.

Reply via email to