以下のようなリストがあります。これは、行列を含むリストのリストです(したがって、「ftable」は10個のリストのリストであり、内部リストのそれぞれには7個の行列が含まれています)。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]]、..に平均を適用した結果である 7 つの行列を含むリストが必要です。 . , 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