[R] How to get minimum value by group

Peter Alspach Peter.Alspach at plantandfood.co.nz
Tue Jan 12 03:56:02 CET 2010


Tena koe Justin

Try aggregate(): e.g., 

aggregate(myframe[,4], myframe[,1:3], min)

HTH ....

Peter Alspach

> -----Original Message-----
> From: r-help-bounces at r-project.org 
> [mailto:r-help-bounces at r-project.org] On Behalf Of JustinNabble
> Sent: Tuesday, 12 January 2010 1:58 p.m.
> To: r-help at r-project.org
> Subject: [R] How to get minimum value by group
> 
> 
> 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-tp10117
> 45p1011745.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