I'm trying to use a self-written function with the summaryBy function (doBy package). I have lots of data from Monte Carlo experiments comparing different estimators across different (combinations of) parameter values, similar to the following form: colnames(mydata) <- c("X", "b0", "b1", # parameter combination, corresponding (true) parameter values "b0.m1", "b1.m1", # estimates for estimator 1 "b0.m2", "b1.m2" # estimates for estimator 2) Thus, X is an id that is constant for a given parameter combination across simulation runs. I need to calculate the root mean squared error. For each estimate I extract the corresponding parameter value from the column name of the estimates: rmse <- function(est){ parname <- deparse(substitute(est)) par1 <- unlist(strsplit(parname, c("\\.")))[1] par2 <- eval(parse(text=par1)) sqrt(sum((par2- est)^2) /length(est)) } This works well for subsets (i.e. given parameter combinations), but not inside the summaryBy function because I cannot index properly. data1 <- subset(mydata, X==1) rmse(data1$b0.m1) summaryBy(b0.m5 X, data=mydata, FUN=c(mean, rmse)) I would need to be able to index inside the rmse function, i.e. something like: sqrt(sum((par2[X==i]- est)^2) /length(est)) How can I fix this? -- View this message in context: http://r.789695.n4.nabble.com/Indexing-in-summaryBy-tp4630050.html Sent from the R help mailing list archive at Nabble.com.