Sorry, didn't read your question properly #Just a modification without attach(): aggregate(cbind(sapply(x_test,get,dftest))~z,data=dftest,FUN=mean) # z x y #1 0 7 1 #2 1 6 2
#if you need to aggregate() all the columns except the grouping column aggregate(.~z,data=dftest,FUN=mean) # z x y #1 0 7 1 #2 1 6 2 A.K. ----- Original Message ----- From: Blaser Nello <nbla...@ispm.unibe.ch> To: arun <smartpink...@yahoo.com>; jpm miao <miao...@gmail.com> Cc: R help <r-help@r-project.org> Sent: Thursday, May 23, 2013 3:29 AM Subject: RE: [R] convert a character string to a name If you want to use the character string: attach(dftest) aggregate(cbind(sapply(x_test, get))~z, data=dftest, FUN=mean) # or with(dftest,aggregate(cbind(sapply(x_test, get)),list(z),FUN=mean)) detach(dftest) Cheers, Nello -----Original Message----- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of arun Sent: Donnerstag, 23. Mai 2013 09:19 To: jpm miao Cc: R help Subject: Re: [R] convert a character string to a name with(dftest,aggregate(cbind(x,y),list(z),FUN=mean)) # Group.1 x y #1 0 7 1 #2 1 6 2 #or library(plyr) ddply(dftest,.(z),numcolwise(mean)) # z x y #1 0 7 1 #2 1 6 2 A.K. ----- Original Message ----- From: jpm miao <miao...@gmail.com> To: r-help <r-help@r-project.org> Cc: Sent: Thursday, May 23, 2013 3:05 AM Subject: [R] convert a character string to a name Hi, From time to time I need to do the aggregation. To illustrate, I present a toy example as below. In this example, the task is to aggregate x and y by z with the function mean. Could I call the aggregation function with x_test, where x_test=c("x","y")? Thanks Miao > dftest<-data.frame(x=1:12, y=(1:12)%%4, z=(1:12)%%2) dftest x y z 1 1 1 1 2 2 2 0 3 3 3 1 4 4 0 0 5 5 1 1 6 6 2 0 7 7 3 1 8 8 0 0 9 9 1 1 10 10 2 0 11 11 3 1 12 12 0 0 > aggregate(cbind(x,y)~z, data=dftest, FUN=mean) z x y 1 0 7 1 2 1 6 2 > x_test=c("x","y") > aggregate(cbind(x_test)~z, data=dftest, FUN=mean) Error in model.frame.default(formula = cbind(x_test) ~ z, data = dftest) : variable lengths differ (found for 'z') a1aggregate(cbind(factor(x_test))~z, data=dftest, FUN=mean) Error in model.frame.default(formula = cbind(factor(x_test)) ~ z, data = dftest) : variable lengths differ (found for 'z') > aggregate(factor(x_test)~z, data=dftest, FUN=mean) Error in model.frame.default(formula = factor(x_test) ~ z, data = dftest) : variable lengths differ (found for 'z') [[alternative HTML version deleted]] ______________________________________________ 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. ______________________________________________ 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.