我有一个'mylist',它是一个由相同大小的矩阵组成的列表:
我需要逐个元素地计算这些矩阵的加权平均值。 结果将是一个3×3的矩阵,其中第一个元素为:
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×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'的实际长度事先是不知道的。
非常感谢任何提示!