2017-05-27 72 views
-1

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

我的代码:

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

我收到此错误信息: 错误,如果(D2 == 0L){:缺失值,其中TRUE/FALSE需要

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

+0

请参阅[问]和[MCVE] –

回答

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) 
+3

不是重塑列表,你可以添加它的元素:'减少(\'+ \'M)/长度(m)' – alistaire