[R] Using split and sapply to return entire lines

Gabor Grothendieck ggrothendieck at gmail.com
Wed Nov 9 04:47:26 CET 2005


Also, one can use aggregate:

aggregate(DF[,-1], list(month = DF$month), max)

On 11/8/05, Gabor Grothendieck <ggrothendieck at gmail.com> wrote:
> Using package doBy at http://genetics.agrsci.dk/~sorenh/misc/index.html
> try this:
>
> summaryBy(cbind(length, ratio, monthly1, monthly2) ~ month, DF, max)
>
>
>
> On 11/8/05, Todd A. Gibson <tgibson at augustcouncil.com> wrote:
> > Hello,
> > I have a data manipulation problem that I can easily resolve by using
> > perl or python to pre-process the data, but I would prefer to do it
> > directly in R.
> >
> > Given, for example:
> >
> >  month length ratio monthly1 monthly2
> > 1 Jan   23     0.1   9        6
> > 2 Jan   45     0.2   9        6
> > 3 Jan   16     0.3   9        6
> > 4 Feb   14     0.2   1        9
> > 5 Mar   98     0.4   2        2
> > 6 Mar   02     0.6   2        2
> >
> > (FWIW, monthly1 and monthly2 are unchanged for each month)
> >
> > I understand how to do aggregations on single fields using split and
> > sapply, but how can I get entire lines.  For example, For the maximum
> > of data$length grouped by data$month I would like to get back some
> > form of:
> >
> > 2 Jan 45 0.2 9 6
> > 4 Feb 14 0.2 1 9
> > 5 Mar 98 0.4 2 2
> >
> > For mean, I would like to average all columns:
> >
> > Jan 28 0.2 9 6
> > Feb 14 0.2 1 9
> > Mar 50 0.5 2 2
> >
> > Thank you,
> > -TAG
> > Todd A. Gibson
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> >
>




More information about the R-help mailing list