我有一个像下面这样的列表,它是一个包含矩阵的列表(所以“ftable”是一个包含十个列表的列表,每个内部列表都包含七个矩阵)。我需要计算也可能具有 NA 值的关联矩阵的平均值。我尝试了几种方法,但出现了错误。
for(i in 1:10){
for(j in 1:7){
ftable[[i]][[j]] <- matrix (x,nrow=8,ncol=8, byrow=TRUE)
}
}
> str(ftable)
List of 10
$ :List of 7
.......
.......
因此,我需要一个包含七个矩阵的列表,其中每个矩阵都是将均值应用于 ftable[[1]][[i]]、ftable[[2]][[i]]、.. . , ftable[[10]][[i]] 和 i 在 1:7。
我已经尝试过了,但我得到了错误:
meanTable <- list()
for (i in 1:7)
meanTable[[i]] <- matrix (0, nrow=8,ncol=8)
> meanTable <- lapply(1:7, function(i) Reduce(mean, list(ftable[[1]][i],ftable[[2]][i],ftable[[3]][i],ftable[[4]][i],ftable[[5]][i],ftable[[6]][i],ftable[[7]][i],ftable[[8]][i],ftable[[9]][i],ftable[[10]][i])))
Error in mean.default(init, x[[i]]) :
'trim' must be numeric of length one
In addition: Warning message:
In mean.default(init, x[[i]]) :
argument is not numeric or logical: returning NA
矩阵的一个例子:
> ftable[[1]][[1]]
1 2 3 4 5 6 7 8
1 NA 0.924 0.835 -0.336 0.335 -0.948 0.285 0.749
2 NA NA 0.772 -0.333 0.333 -0.892 0.127 0.715
3 NA NA NA -0.476 0.475 -0.756 0.258 0.749
4 NA NA NA NA -0.999 0.399 -0.150 -0.399
5 NA NA NA NA NA -0.399 0.151 0.399
6 NA NA NA NA NA NA -0.134 -0.715
7 NA NA NA NA NA NA NA 0.144
8 NA NA NA NA NA NA NA NA