考虑数组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
但这只是隐藏了循环。是否还有其他有效的、真正矢量化的方法来计算所需的行总和?