我有3个矩阵存储三次测量的值,并希望取3个矩阵的平均值。
所以,让我们说三个矩阵是:
mean(m1[i,j], m2[i,j], m2[i,j])
我想为矩阵的每个位置都有这个:
for(i in ncol(m1)){
for(j in nrow(m1)){
means[i,j]<-mean(m1[i,j], m2[i,j], m2[i,j])
}
所以我尝试了2 for for循环:
(def data [[1 1] [1 1]])
显然不起作用
如果返回NA,则第一列中的文字不是问题。
有人可以帮我吗? 谢谢!
答案 0 :(得分:1)
我们可以将其放在list
中,转换为数字并使用Reduce
lst <- lapply(list(m1[, -1], m2[,-1], m3[, -1]), as.numeric)
Reduce(`+`,lst)/length(lst)
如果有许多以'm'开头的矩阵,我们可以使用mget
lst <- lapply(mget(paste0("m", 1:3)), function(x) as.numeric(x[,-1]))
然后执行Reduce
步骤。