Dear R-ers! # I have a data frame with one factor and 2 numeric variables: x<-data.frame(group=c("b","b","d","d","e","e"),a=c(1,NA,10,20,100,200),b=c(5,15,20,NA,10,30)) x
# I want to divide each value of each variable by its group mean - using plyr and ddply. It works fine, for example, for variable "a": library(plyr) x2<-ddply(x, "group", transform, a = a / mean(a, na.rm = T)) x2 # Because I want to do the same for both variables (a and b) I want to put it into a function. # So, I am parametrising the grouping variable and the variable to transform. # However, my code below is not working - I know that x[[variable]] is not correct - but what is the right way of doing it? grouping.factor<-"group" variable<-"a" x2<-ddply(x, grouping.factor, transform, x[[variable]] = x[[variable]] / mean(x[[variable]], na.rm = T)) Or is there a more effective way of using ddply on a bunch of variables? Thank you very much for your advise! -- Dimitri Liakhovitski Ninah.com dimitri.liakhovit...@ninah.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.