如何通过R中数组中N个元素的索引计算平均值
How to calculate the mean by index of N elements in an array in R
我有一个包含 15 个元素的通用数组。该数组中的每个元素都是一个 159 x 159 矩阵。
现在,我想计算 15 个元素中每个索引的平均值,并将结果存储在一个新的 159 x 159 矩阵中,该矩阵的新索引来自 15 个元素中相同索引位置的平均值原始数组。
如果允许的话,这是一个嵌套数组。这也是我发现有趣的开源站点上的一个 EigenFace 问题。所以,长话短说,这个数组是15个人的集合,每个人有11张图片,有眨眼、开心、悲伤等11种面部表情。所以它是一个15个元素的数组,每个元素也是一个由 11 行和数千列像素组成的阵列来描绘那个人的面部表情。
例如,新矩阵的新索引[1,1]是对原数组elements/matrices中的15个elements/matrices取[1,1]个索引的平均值
我想避免使用 for
循环并希望有一个我可以利用的内置函数。
如有任何提示,我们将不胜感激!
你可以使用 Reduce()
:
data <- list(matrix(1:16, 4), matrix(1:16, 4))
result <- Reduce('+', data)
result <- result * 1/length(data)
我有一个包含 15 个元素的通用数组。该数组中的每个元素都是一个 159 x 159 矩阵。
现在,我想计算 15 个元素中每个索引的平均值,并将结果存储在一个新的 159 x 159 矩阵中,该矩阵的新索引来自 15 个元素中相同索引位置的平均值原始数组。
如果允许的话,这是一个嵌套数组。这也是我发现有趣的开源站点上的一个 EigenFace 问题。所以,长话短说,这个数组是15个人的集合,每个人有11张图片,有眨眼、开心、悲伤等11种面部表情。所以它是一个15个元素的数组,每个元素也是一个由 11 行和数千列像素组成的阵列来描绘那个人的面部表情。
例如,新矩阵的新索引[1,1]是对原数组elements/matrices中的15个elements/matrices取[1,1]个索引的平均值
我想避免使用 for
循环并希望有一个我可以利用的内置函数。
如有任何提示,我们将不胜感激!
你可以使用 Reduce()
:
data <- list(matrix(1:16, 4), matrix(1:16, 4))
result <- Reduce('+', data)
result <- result * 1/length(data)