首页 > 解决方案 > 如何通过R中数组中N个元素的索引计算平均值

问题描述

我有一个包含 15 个元素的通用数组。该数组中的每个元素都是一个 159 x 159 矩阵。

现在,我想计算 15 个元素中每个索引的平均值,并将结果存储在一个新的 159 x 159 矩阵中,该矩阵具有由原始数组的 15 个元素上的相同索引位置的平均值产生的新索引。

如果允许我这么说,这是一个嵌套数组。这也是我发现有趣的开源网站上的一个 EigenFace 问题。所以,长话短说,这个数组是 15 个人的集合,每个人有 11 张图像,用 11 种面部表情,如眨眼、快乐、悲伤等。所以它是一个 15 个元素的数组,每个元素也是一个11 行和数千列像素的阵列来描绘那个人的面部表情。

例如,新矩阵的新索引 [1,1] 是通过从原始数组中的 15 个元素/矩阵中获取 [1,1] 索引的平均值来获得的。

我想避免使用for循环,并希望有一个可以使用的内置函数。

任何提示将非常感谢!

标签: arraysrcomputation

解决方案


你可以使用Reduce()

data <- list(matrix(1:16, 4), matrix(1:16, 4))

result <- Reduce('+', data)

result <- result * 1/length(data)

推荐阅读