Re: [R] Subsetting a matrix without for-loop

From: Gabor Grothendieck <ggrothendieck_at_gmail.com>
Date: Tue 31 Jan 2006 - 03:20:33 EST

The result is linear in A so its a matter of finding the matrix to multiply it by:

 matrix(c(rep(1,3), rep(0,7)), 3, 9, byrow = TRUE) %*% A

On 1/30/06, Camarda, Carlo Giovanni <Camarda@demogr.mpg.de> wrote:
> Dear R-users,
> I'm struggling in R in order to "squeeze" a matrix without using a
> for-loop.
> Although my case is a bit more complex, the following example should
> help you to understand what I would like to do, but without the slow
> for-loop.
> Thanks in advance,
> Carlo Giovanni Camarda
>
>
> A <- matrix(1:54, ncol=6) # my original matrix
> A.new <- matrix(nrow=3, ncol=6) # a new matrix which I'll fill
> # for-loop
> for(i in 1:nrow(A.new)){
> B <- A[i:(i+2), ] # selecting the rows
> C <- apply(B,2,sum) # summing by columns
> A.new[i,] <- C # inserting in the new matrix
> }
>
>
> +++++
> This mail has been sent through the MPI for Demographic Rese...{{dropped}}
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Jan 31 03:28:09 2006

This archive was generated by hypermail 2.1.8 : Tue 31 Jan 2006 - 08:22:18 EST