이 질문에 관련 적용 : 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
의 elementwise 곱셈을 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
왜이 두 가지 답변이 다른가요?