如何计算多个矩阵的均值

时间:2017-05-27 01:04:16

标签: r matrix

我有2000个大小为27 * 27的协方差矩阵,我想得到所有2000个矩阵的均值协方差矩阵。我想要的结果是一个大小为27x27的矩阵,其中位置[1,1]是给定27个矩阵的位置[1,1]的平均值。 我可以从其他帖子看到我应该创建一个数组并使用apply函数,但它不起作用!

我的代码:

a<-array(ml.1[c(1:2000)])
apply(a,c(1,2),mean)

我收到此错误消息: if(d2 == 0L){:缺少值需要TRUE / FALSE

时出错

如果有人能帮助我解决这个问题,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

首先,@ eipi10是对的,你的问题是不可复制的。但关键在于如何设置阵列。

#Make some fake data 10 matrices 10x10
m <- lapply(1:10, function(x) matrix(rnorm(100), nrow = 10))
#bind the matrices together
a <- do.call(cbind, m)
#recast the matrix into three dimensions
dim(a) <- c(10,10,10) 
#now apply should work
apply(a, c(1,2), mean)