[R] Summing elements in a list
Giovanni Petris
GPetris at uark.edu
Fri Oct 31 21:05:39 CET 2003
The following seems to give what you want.
tmp <- rep(w, each=nrow1*ncol1+nrow2*ncol2) * unlist(matlist)
tmp <- rowSums(matrix(tmp,nr=nrow1*ncol1+nrow2*ncol2))
mat1 <- tmp[1:(nrow1*ncol1)]; dim(mat1) <- c(nrow1,ncol1)
mat2 <- tmp[nrow1*ncol1+1:(nrow2*ncol2)]; dim(mat2) <- c(nrow2,ncol2)
Giovanni
--
__________________________________________________
[ ]
[ Giovanni Petris GPetris at uark.edu ]
[ Department of Mathematical Sciences ]
[ University of Arkansas - Fayetteville, AR 72701 ]
[ Ph: (479) 575-6324, 575-8630 (fax) ]
[ http://definetti.uark.edu/~gpetris/ ]
[__________________________________________________]
> Date: Fri, 31 Oct 2003 14:16:31 -0500
> From: Angelo Canty <canty at math.mcmaster.ca>
> Sender: r-help-bounces at stat.math.ethz.ch
> Organization: McMaster University
> Precedence: list
>
> Hi,
>
> Suppose that I have a list where each component is a list of two
> matrices. I also have a vector of weights. How can I collapse my
> list of lists into a single list of two matrices where each matrix
> in the result is the weighted sum of the corresponding matrices.
>
> I could use a loop but this is a nested calculation so I was hoping
> there is a more efficient way to do this. To help clarify, here is
> the code I would use with a for loop
>
> result <- list(mat1=matrix(0,nrow1,ncol1),
> mat2=matrix(0,nrow2,ncol2))
> for (i in seq(along=matlist)) {
> result$mat1 <- result$mat1+w[i]*matlist[[i]]$mat1
> result$mat2 <- result$mat2+w[i]*matlist[[i]]$mat2
> }
>
> I apologise if this is a trivial question. Unfortunately I don't have
> my copy of V&R S Programming to hand.
>
> Thanks for your help,
> Angelo
> --
> ------------------------------------------------------------------
> | Angelo J. Canty Email: cantya at mcmaster.ca |
> | Mathematics and Statistics Phone: (905) 525-9140 x 27079 |
> | McMaster University Fax : (905) 522-0935 |
> | 1280 Main St. W. |
> | Hamilton ON L8S 4K1 |
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
>
>
>
More information about the R-help
mailing list