[R] optimal way to compute matrix subtotals?

Prof Brian Ripley ripley at stats.ox.ac.uk
Fri May 12 12:14:20 CEST 2006


On Fri, 12 May 2006, Werner Wernersen wrote:

> Hi!
>
> I have large matrices, one column per variable and I have a vector of 
> factors / grouping symbols. Then I am computing subtotals for the groups 
> but it takes pretty long and thus I wanted to ask if there is a better 
> way to do it or if this is already the best way: subTotals <- 
> function(x, groupvec) 
> do.call("rbind",lapply(split(x,groupvec),colSums,na.rm=T))

I suggest you look at rowsum (on a transpose of your matrix).  It will not 
handle NAs, though, if you have any.

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list