配列を考えてみましょう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
結果が次のようになるように、3 番目の次元によってインデックス付けされた行列の行の合計を効率的に計算するにはどうすればよいでしょうか。
[,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
しかし、それはループを隠しているだけです。必要な行の合計を計算する効率的で真にベクトル化された方法は他にありますか?