r - 矩阵列表中每个元素的均值

标签 r

我有一个包含三个矩阵的列表:

a<-matrix(runif(100))
b<-matrix(runif(100))
c<-matrix(runif(100))

mylist<-list(a,b,c)

我想获得三个矩阵中每个元素的平均值。

我试过:aaply(laply(mylist, as.matrix), c(1, 1), mean)但这会返回每个矩阵的平均值,而不是将每个元素的平均值作为 rowMeans()将。

最佳答案

也许你想要的是:

> set.seed(1)
> a<-matrix(runif(4)) 
> b<-matrix(runif(4))
> c<-matrix(runif(4))
> mylist<-list(a,b,c)  # a list of 3 matrices 
> 
> apply(simplify2array(mylist), c(1,2), mean)
          [,1]
[1,] 0.3654349
[2,] 0.4441000
[3,] 0.5745011
[4,] 0.5818541

向量 c(1,2)MARGIN在apply调用中表明函数mean应该应用于行和列(同时),见 ?apply了解更多详情。

另一种选择是使用 Reduce功能
> Reduce("+", mylist)/ length(mylist)
          [,1]
[1,] 0.3654349
[2,] 0.4441000
[3,] 0.5745011
[4,] 0.5818541

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

相关文章:

javascript - 从名称中识别小部件类型

r - 输入到函数的行名的 For 循环

R Shiny 从 numericInput 数据表列中提取值

r - 基于另一个数据框创建列

r - 制作数据框每一列的向量并返回列表中的向量

performance - R:加速 "group by"操作

r - paste( ) 的替代方法用于在图形上连接格式化的文本表达式?

r - 如何防止覆盖文件?

r - 将 stat_compare_means 与 r : calculates p value only for 1 facet 中的构面结合起来

删除 ggplot 分面图中的一些轴标签