[R] subtotal, submean, aggregate

Patrick Giraudoux patrick.giraudoux at univ-fcomte.fr
Sun Feb 26 14:24:19 CET 2006


Dear All,

I would like to make partial sums (or means or any other function) of 
the values in intervals along a sequence (spatial transect) where groups 
are defined.

For instance:

habitats<-rep(c("meadow","forest","meadow","pasture"),c(10,5,12,6))
observations<-rpois(length(habitats),2)
transect<-data.frame(observations=observations,habitats=habitats)

aggregate() is not suitable for my purpose because I want a result 
respecting the order of the habitats encountered although they may have 
the same name (and not pooling each group on each level of the factor 
created). For instance, the output of the ideal function 
mynicefunction() would be something as:

mynicefunction(transect$observations, by=list(transect$habitats),sum)
meadow     16
forest      9
meadow     21
pasture    17

and not

aggregate(transect$observations,by=list(transect$habitats),sum)
  Group.1  x
1  forest  9
2  meadow 37
3 pasture 17

Did anybody hear about such a function already written in R? If no, any 
idea to make it simple and elegant to write?

Cheers,

Patrick Giraudoux




More information about the R-help mailing list