4
什麼是計算同一維數多個矩陣均值的有效方法?計算R中多個矩陣的均值
如果A,B是2×2矩陣然後,
A
2 3
4 5
B
6 7
8 9
平均值(A,B)應該給
4 5
6 7
平原的方法是做(A + B + ... )/數量的矩陣。 (並明確處理NA值)
任何其他優雅的方法或庫來做到這一點(支持na.rm)?
什麼是計算同一維數多個矩陣均值的有效方法?計算R中多個矩陣的均值
如果A,B是2×2矩陣然後,
A
2 3
4 5
B
6 7
8 9
平均值(A,B)應該給
4 5
6 7
平原的方法是做(A + B + ... )/數量的矩陣。 (並明確處理NA值)
任何其他優雅的方法或庫來做到這一點(支持na.rm)?
它們合併到一個數組中,並使用apply
:
A <- matrix(c(2,4,3,5), 2)
B <- matrix(c(6,8,7,9), 2)
X <- list(A, B)
Y <- do.call(cbind, X)
Y <- array(Y, dim=c(dim(X[[1]]), length(X)))
apply(Y, c(1, 2), mean, na.rm = TRUE)
# [,1] [,2]
#[1,] 4 5
#[2,] 6 7
如果apply
不夠高效,你可以使用colMeans
(提供NA
處理)與aperm
:
colMeans(aperm(Y, c(3, 1, 2)), na.rm = TRUE)
# [,1] [,2]
#[1,] 4 5
#[2,] 6 7
請問解決方案是如果矩陣是rasterstacks ..ie多個rasterstacks不同? – Joe 2016-01-04 10:45:56