There is a recode function in the Hmisc package that might help: library(Hmisc) example$X3 <- recode(example$X2, 1:4, c(-3,-1,1,3))
-Ista On Thu, Jan 14, 2010 at 2:05 AM, Joshua Wiley <jwiley.ps...@gmail.com> wrote: > Hello All, > > I am trying to create a column of weights based off of factor levels > from another column. I am using the weights to calculate L scores. > Here is an example where the first column are scores, the second is my > "factor" and the third I want to be a column of weights. I can do > what I want with an ifelse statement (see below), but I am wondering > if anyone knows of a cleaner way to do this? > > example <- data.frame(cbind(rnorm(4), rep(1:4, 1), c(0))) > > example$X3 <- ifelse(example$X2==1, -3, ( > ifelse(example$X2==2, -1, ( > ifelse(example$X2==3, 1, ( > ifelse(example$X2==4, 3, NA))))))) ## this seems sloppy to me > >> example > X1 X2 X3 > 1 1.75308880 1 -3 > 2 -0.49273616 2 -1 > 3 -0.12446648 3 1 > 4 -0.06417217 4 3 > > > Thanks for your help, > > Joshua > > -- > Joshua Wiley > Senior in Psychology > University of California, Riverside > http://www.joshuawiley.com/ > > ______________________________________________ > 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. > -- Ista Zahn Graduate student University of Rochester Department of Clinical and Social Psychology http://yourpsyche.org ______________________________________________ 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.