You could also try: library(plyr) newdf <- function(.data, ...) { eval(substitute(data.frame(...)), .data, parent.frame()) }
x1 <- ddply(mtcars,.(cyl,gear), newdf, mgp=t(quantile(mpg)),hp=t(quantile(hp))) #(found in one of the google group discussions) #or library(data.table) dt1 <- data.table(mtcars,key=c('cyl','gear')) dt2 <- dt1[,c(as.list(quantile(mpg)),as.list(quantile(hp))),by=key(dt1)] indx <- grep("%",names(dt2)) x2 <- as.data.frame(dt2) names(x2)[indx] <- paste(rep(c("mpg", "hp"),each=5), names(x2)[indx],sep=".") A.K. On Friday, November 1, 2013 9:35 AM, arun <smartpink...@yahoo.com> wrote: Hi, Try: do.call(data.frame,c(x,check.names=FALSE)) A.K. Hello, I´m using function aggregate in R 3.0.2. If I run the instruction x<-aggregate(cbind(mpg,hp)~cyl+gear,data=mtcars,quantile) I get the result the following data.frame: cyl gear mpg.0% mpg.25% mpg.50% mpg.75% mpg.100% hp.0% hp.25% hp.50% hp.75% hp.100% 4 3 21.5 21.5 21.5 21.5 21.5 97 97 97 97 97 6 3 18.1 18.925 19.75 20.575 21.4 105 106.25 107.5 108.75 110 8 3 10.4 14.05 15.2 16.625 19.2 150 175 180 218.75 245 4 4 21.4 22.8 25.85 30.9 33.9 52 64.25 66 93.5 109 6 4 17.8 18.85 20.1 21 21 110 110 116.5 123 123 4 5 26 27.1 28.2 29.3 30.4 91 96.5 102 107.5 113 6 5 19.7 19.7 19.7 19.7 19.7 175 175 175 175 175 8 5 15 15.2 15.4 15.6 15.8 264 281.75 299.5 317.25 335 So far so good, however the strange part happens when I run dim(x) or names(x), because the results are 8 4 (dim(x)) and "cyl" "gear" "mpg" "hp" (names(x)). Why this occurs and how do I transform it in a regular data.frame with 12 columns? Thank you in advance, Daniel > sessionInfo() R version 3.0.2 (2013-09-25) Platform: i386-w64-mingw32/i386 (32-bit) locale: [1] LC_COLLATE=Portuguese_Portugal.1252 LC_CTYPE=Portuguese_Portugal.1252 LC_MONETARY=Portuguese_Portugal.1252 LC_NUMERIC=C [5] LC_TIME=Portuguese_Portugal.1252 attached base packages: [1] grDevices datasets splines graphics stats tcltk utils methods base other attached packages: [1] svSocket_0.9-55 TinnR_1.0-5 R2HTML_2.2.1 Hmisc_3.12-2 Formula_1.1-1 survival_2.37-4 loaded via a namespace (and not attached): [1] cluster_1.14.4 grid_3.0.2 lattice_0.20-23 rpart_4.1-3 svMisc_0.9-69 tools_3.0.2 "Confidencialidade: Esta mensagem (e eventuais ficheiros anexos) é destinada exclusivamente às pessoas nela indicadas e tem natureza confidencial. Se receber esta mensagem por engano, por favor contacte o remetente e elimine a mensagem e ficheiros, sem tomar conhecimento do respectivo conteúdo e sem reproduzi-la ou divulgá-la. Confidentiality Warning: This e-mail message (and any attached files) is confidential and is intended solely for the use of the individual or entity to whom it is addressed. lf you are not the intended recipient of this message please notify the sender and delete and destroy all copies immediately." ______________________________________________ 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.