gpt4 book ai didi

r - 计算R中多个矩阵的均值

转载 作者:行者123 更新时间:2023-12-04 11:27:35 28 4
gpt4 key购买 nike

计算同一维多个矩阵的均值的有效方法是什么?

如果A,B是2 x 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

关于r - 计算R中多个矩阵的均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26018216/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com