Here's a simple and efficient way

A <- matrix(1:12,6,2)
nbin <- 2

dim(A) <- c(nbin, nrow(A)/nbin, 2)
B <- colSums(A)
dim(B) <- dim(A)[-1]
B
     [,1] [,2]
[1,]    3   15
[2,]    7   19
[3,]   11   23


On Fri, 14 Jan 2005, Stephen Nyangoma wrote:

I have a large data matrix (4460X3500) and I want to sum row subsets in groups of 10 (bin). Is there an efficient way to do this in R without using loops. Looping takes forever to perform this task!

For example suppose we have the matrix
matrix(1:12,6,2)
    [,1] [,2]
[1,]    1    7
[2,]    2    8
[3,]    3    9
[4,]    4   10
[5,]    5   11
[6,]    6   12

my problem is to sdum for example:
1. the first and second row
2. the third and fourth
and
3. the fifth and the sixth.

To obtain

   [,1] [,2]
[1,]    3   15
[2,]    7   19
[3,]   11   23

-- Brian D. Ripley, [EMAIL PROTECTED] 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

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to