gpt4 book ai didi

r - R中矩阵列表的元素中位数

转载 作者:行者123 更新时间:2023-12-04 10:45:11 26 4
gpt4 key购买 nike

给定一个矩阵列表:

temp <- list(matrix(c(1,8,3,400), 2), 
matrix(c(5,2,300,14),2),
matrix(c(100,200,12,4),2)
)
temp
# [[1]]
# [,1] [,2]
# [1,] 1 3
# [2,] 8 400
#
# [[2]]
# [,1] [,2]
# [1,] 5 300
# [2,] 2 14
#
# [[3]]
# [,1] [,2]
# [1,] 100 12
# [2,] 200 4

我想要矩阵的元素中位数:

     [,1] [,2]
[1,] 5 12
[2,] 8 14

这可以在没有显式 for 循环的情况下完成吗?

最佳答案

首先,把它放入一个数组中:

library(abind)
a <- do.call(abind, c(temp, list(along=3)))

然后使用应用:

apply(a, 1:2, median)
# [,1] [,2]
# [1,] 5 12
# [2,] 8 14

正如@RichardScriven 建议的那样,您也可以在没有 abind 包的情况下构建 a:

a <- array(unlist(temp), c(2, 2, 3))
# or
a <- array(unlist(temp), c(dim(temp[[1]]), length(temp)))

关于r - R中矩阵列表的元素中位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33139264/

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