考虑数组a
:
> a <- array(c(1:9, 1:9), c(3,3,2))
> a
, , 1
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
, , 2
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
我们如何有效地计算由第三维索引的矩阵的行和,使得结果是:
[,1] [,2]
[1,] 12 12
[2,] 15 15
[3,] 18 18
??
通过 的'dims'
参数,列总和很容易colSums()
:
> colSums(a, dims = 1)
但我找不到在数组上使用来达到预期结果的方法,因为rowSums()
它对.'dims'
colSums()
使用以下方法计算所需的行总和很简单:
> apply(a, 3, rowSums)
[,1] [,2]
[1,] 12 12
[2,] 15 15
[3,] 18 18
但这只是隐藏循环。是否有其他有效的、真正矢量化的方法来计算所需的行总和?