[R] summing subsets of rows matrices
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri Jan 14 11:03:45 CET 2005
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, 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