gpt4 book ai didi

r - R 中矩阵列表的标准偏差

转载 作者:行者123 更新时间:2023-12-05 00:54:49 25 4
gpt4 key购买 nike

我有一个列表,其中每个元素都是一个矩阵。

set.seed(123)

m1 <- matrix(sample(c(1:10), size = 9, replace = TRUE), ncol = 3, nrow = 3)
m2 <- matrix(sample(c(1:10), size = 9, replace = TRUE), ncol = 3, nrow = 3)
m3 <- matrix(sample(c(1:10), size = 9, replace = TRUE), ncol = 3, nrow = 3)

m <- list(m1, m2, m3)
m
[[1]]
[,1] [,2] [,3]
[1,] 3 9 6
[2,] 8 10 9
[3,] 5 1 6

[[2]]
[,1] [,2] [,3]
[1,] 5 7 9
[2,] 10 6 3
[3,] 5 2 1

[[3]]
[,1] [,2] [,3]
[1,] 4 7 7
[2,] 10 7 8
[3,] 9 10 6

我想计算 的标准差每对考虑所有三个矩阵。因此对于单元格 [1,1] 的标准偏差为:
sd(c(3, 5, 4))

我的最终矩阵应如下所示:
     [,1] [,2] [,3]
[1,] 1.00 1.15 1.53
[2,] 1.15 2.08 3.21
[3,] 2.31 4.93 2.89

我怎样才能在 R 中实现这一点而无需遍历所有三个矩阵?

提前谢谢了。

最佳答案

最好将其转换为 array来自 unlist正在listvector ,将其转换为 3D array并获得 sdapply

round(apply(array(unlist(m), c(3, 3, 3)), c(1,2), sd),2)
# [,1] [,2] [,3]
#[1,] 1.00 1.15 1.53
#[2,] 1.15 2.08 3.21
#[3,] 2.31 4.93 2.89

关于r - R 中矩阵列表的标准偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39351013/

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