マルチ配列平均で問題が発生しました。たとえば、3次元の4 * 4*3配列x
があります。
x
, , 1
[,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] 0.5 NA NA NA
[3,] NA NA NA NA
[4,] NA NA NA NA
, , 2
[,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] 0.7 NA NA NA
[3,] 0.4 NA NA NA
[4,] NA NA NA NA
, , 3
[,1] [,2] [,3] [,4]
[1,] NA NA 0.8 NA
[2,] NA NA NA NA
[3,] NA NA NA NA
[4,] NA NA NA NA
私が取得したいのは、NAなしの合計であり、NA以外の要素の数による平均です。
基本的にはこんな感じです
[,1] [,2] [,3] [,4]
[1,] 0 0 0.8 0
[2,] 0.6 0 0 0
[3,] 0.4 0 0 0
[4,] 0 0 0 0
matlabで私はこのようにそれをしますnansum(x, 3)./sum(~isnan(x), 3)
、私はRでたくさん試しました、apply(x, 3, sum, na.rm = T)
またはReduce
のように、最初に予備的な結果を得ようとします
[,1] [,2] [,3] [,4]
[1,] 0 0 0.8 0
[2,] 1.2 0 0 0
[3,] 0.4 0 0 0
[4,] 0 0 0 0
しかし、私はまだそれを管理していませんでした、誰かがヒットを持っていますか?