[R] re-coding variables
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Thu Feb 2 17:32:54 CET 2006
Marc Bernard <bernarduse1 at yahoo.fr> writes:
> Dear All,
>
> I wonder how to re-code a categorical variable without using the ifelse loops. For example:
(What's an "ifelse loop"???)
> Let X be a categorical variable with 6 levels, levels(X) = c(1,2,3,4,5,6)
>
> How to create a new categorical variable Y with levels, 10,11,12, say , such that:
> Y = 10 if X =1 or X=2
> Y = 11 if X =3 or 4
> Y =11 if X = 5 or 6
One way is the recode() function in the car package. Another is
Y <- X
levels(Y) <- c(10,10,11,11,12,12)
or
levels(Y) <- list("10"=c(1,2),"11"=c(3,4),"12"=c(5,6))
and a 4th one could be
Y <- factor(c(10,10,11,11,12,12)[X])
(which may need a safeguarding "levels=c(10,11,12)" in case not all
levels are present).
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list