On Fri, Mar 23, 2018 at 6:43 PM, Rui Barradas <ruipbarra...@sapo.pt> wrote: > Hello, > > Not exactly an answer but here it goes. > If you use the formula interface the names will be retained.
Also if you pass named arguments: aggregate(iris["Sepal.Length"], by = iris["Species"], FUN = foo) # Species Sepal.Length # 1 setosa 5.006 # 2 versicolor 5.936 # 3 virginica 6.588 If fact, this > is even better than those names assigned by bar. > > > aggregate(Sepal.Length ~ Species, data = iris, FUN = foo) > # Species Sepal.Length > #1 setosa 5.006 > #2 versicolor 5.936 > #3 virginica 6.588 > > > Hope this helps, > > Rui Barradas > > > On 3/23/2018 1:29 PM, Randall Pruim wrote: >> >> In the examples below, the first loses the name attached by foo(), the >> second retains names attached by bar(). Is this an intentional difference? >> I’d prefer that the names be retained in both cases. >> >> foo <- function(x) { c(mean = base::mean(x)) } >> bar <- function(x) { c(mean = base::mean(x), sd = stats::sd(x))} >> aggregate(iris$Sepal.Length, by = list(iris$Species), FUN = foo) >> #> Group.1 x >> #> 1 setosa 5.006 >> #> 2 versicolor 5.936 >> #> 3 virginica 6.588 >> aggregate(iris$Sepal.Length, by = list(iris$Species), FUN = bar) >> #> Group.1 x.mean x.sd >> #> 1 setosa 5.0060000 0.3524897 >> #> 2 versicolor 5.9360000 0.5161711 >> #> 3 virginica 6.5880000 0.6358796 >> >> —rjp >> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel