この質問に関連して適用します:Multiply multidimensional array with same-sized matrixR配列出力は外形寸法
私は、次の配列や行列を作成した場合:
a <- array(1, dim=c(2,2,3))
b <- matrix(c(1,1,1,1), nrow=2)
をしてa
の各スライスにb
の要素ごとの乗算を行うCARRAYしたいと思います3次元に沿って移動すると、私はapply
を使用します。しかし、私は次の奇妙な結果を得ます:
> dim(apply(a, 3, `*`, b))
[1] 4 3
> newa <- array(0, dim=c(2,2,3))
> newa[] <- apply(a, 3, `*`, b)
> dim(newa)
[1] 2 2 3
なぜこれらの2つの答えが異なるのですか?