【发布时间】:2015-10-23 02:09:58
【问题描述】:
我有 'mylist' - 相同大小的矩阵列表:
mylist <- vector("list", 5)
set.seed(123)
for(i in 1:5){
mylist[[i]] <- matrix(rnorm(9), nrow = 3)
}
我还有一个权重向量“mywgts” - 长度与“mylist”相同
mywgts <- c(0.8, 0.9, 1, 1.1, 1.2)
我需要逐个元素地计算这些矩阵的加权平均值。 结果将是一个 3 x 3 矩阵,其中第一个元素是:
mylist[[1]][1,1]*mywgts[1] + mylist[[2]][1,1]*mywgts[2] +
mylist[[3]][1,1]*mywgts[3] + mylist[[4]][1,1]*mywgts[4] +
mylist[[5]][1,1]*mywgts[5]
我知道如何通过循环遍历矩阵的所有元素来做到这一点。但我正在寻找一个更简约/优雅的类似 R 的解决方案。 另外 - 'mylist' 的实际长度事先不知道。
感谢您的任何提示!
【问题讨论】: