[R] How to get minimum value by group

Gabor Grothendieck ggrothendieck at gmail.com
Tue Jan 12 05:48:02 CET 2010


Try this:

> aggregate(myframe[4], myframe[1:3], min)
  factor1 factor2 factor3  y
1       1       a       x  1
2       2       a       x  9
3       1       b       x  5
4       2       b       x 13
5       1       a       y  3
6       2       a       y 11
7       1       b       y  7
8       2       b       y 15


On Mon, Jan 11, 2010 at 7:58 PM, JustinNabble
<justinmmcgrath at hotmail.com> wrote:
>
> I'd like to get a long data set of minimum values from groups in another data
> set.
> The following almost does what I want. (Note, I'm using the word factor
> differently from it's meaning in R; bad choice of words)
>
> myframe = data.frame(factor1 = rep(1:2,each=8), factor2 =
> rep(c("a","b"),each=4, times=2), factor3 = rep(c("x","y"),each=2, times=4),
> y=1:16)
> attach(myframe)
> minimums = by(y, list(factor1, factor2,factor3), min)
> detach(myframe)
>
> The problem is that "minimums" is object of class "by", which looks like
> some kind of array with the number of dimension equal to the number of
> factors. I just want two dimensions though, with factors in columns. I can't
> figure out how to reformat it to something like this:
>
> factor1 factor2 factor2 y
> 1         a         x         1
> 2         a         x         9
> 1         b         x         5
> ...
>
> I could make nested for loops, but I'd like something that will work for an
> arbitrary number of factors. I've seen some functions that will rearrange
> data (e.g. reshape), but they all seem to require a data.frame to start
> with.
> --
> View this message in context: http://n4.nabble.com/How-to-get-minimum-value-by-group-tp1011745p1011745.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list