[R] Computing sums of the columns of an array
Gavin Simpson
gavin.simpson at ucl.ac.uk
Fri Aug 5 18:39:03 CEST 2005
On Fri, 2005-08-05 at 12:16 -0400, Martin C. Martin wrote:
> Hi,
>
> I have a 5x731 array A, and I want to compute the sums of the columns.
> Currently I do:
>
> apply(A, 2, sum)
>
> But it turns out, this is slow: 70% of my CPU time is spent here, even
> though there are many complicated steps in my computation.
>
> Is there a faster way?
Yes, colSums()
e.g.:
> set.seed(1234)
> dat <- matrix(runif(5*731), ncol = 731)
> system.time(for(i in 1:1000) apply(dat, 2, sum), gcFirst = TRUE)
[1] 8.05 0.00 9.89 0.00 0.00
> system.time(for(i in 1:1000) colSums(dat), gcFirst = TRUE)
[1] 0.09 0.01 0.09 0.00 0.00
But neither is that slow on my system. What is A?
HTH
Gav
--
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
Gavin Simpson [T] +44 (0)20 7679 5522
ENSIS Research Fellow [F] +44 (0)20 7679 7565
ENSIS Ltd. & ECRC [E] gavin.simpsonATNOSPAMucl.ac.uk
UCL Department of Geography [W] http://www.ucl.ac.uk/~ucfagls/cv/
26 Bedford Way [W] http://www.ucl.ac.uk/~ucfagls/
London. WC1H 0AP.
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
More information about the R-help
mailing list