On Wed, Sep 30, 2009 at 2:43 AM, Dieter Menne <dieter.me...@menne-biomed.de> wrote:
> Dear List, > creating factors in a given non-default orders is notoriously difficult to > explain in a course. Students love the ifelse construct given below most, > but I remember some comment from Martin Mächler (?) that ifelse should be > banned from courses. > Any better idea? Not necessarily short, easy to remember is important. > Dieter > data = c(1,7,10,50,70) > levs = c("Pre","Post") > > # Typical C-Programmer style > factor(levs[as.integer(data >10)+1], levels=levs) > > # Easiest to understand > factor(ifelse(data <=10, levs[1], levs[2]), levels=levs) Why not > factor(data > 10, labels = c("Pre", "Post")) [1] Pre Pre Pre Post Post Levels: Pre Post All you have to remember is that FALSE comes before TRUE. ______________________________________________ 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.