Hi
r-help-boun...@r-project.org napsal dne 18.11.2009 09:24:40: > Dear R-users, > > i try to recode a factor according to old levels > > F <- factor(sample(c(rep("A", 4), rep("B",2), rep("C",5)))) > > recode(F, "levels(F)[c(1,3)]='X'; else='Y'") > > i tried to work with eval or expression around levels(F)[c(1,3)], but > nothing seems to work. > I am not sure if recode does not want as an input a numeric vector. However for recoding levels of factor you can add a vector of new levels in correct order. set.seed(111) F <- factor(sample(c(rep("A", 4), rep("B",2), rep("C",5)))) levels(F)<-c("X","X","Y") F [1] Y Y X X X Y X X X Y Y Levels: X Y or maybe levels(F)<- ifelse(levels(F) %in% c("A","B"), "X", "Y") Regards Petr > > Many thanks if anyone could tell me what i've missed and what's the > problem here. > > best regards > > Andreas > > ______________________________________________ > 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. ______________________________________________ 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.