[R] converting a factor in numeric values with direct control of the numeric values

Charles C. Berry cberry at tajo.ucsd.edu
Sat Jan 17 18:32:40 CET 2009


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 at 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:cberry at 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:cberry at tajo.ucsd.edu	            UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901



More information about the R-help mailing list