반응형
도구 R로 푸는 통계
84. 행렬의 곱셈
2행2열짜리 행렬을 두개 정의합시다.
m1=matrix(c(1,2,3,4),nrow=2)
m2=matrix(c(1,2,3,4),nrow=2)
> m1
[,1] [,2]
[1,] 1 3
[2,] 2 4
> m2
[,1] [,2]
[1,] 1 3
[2,] 2 4
먼저 곱셈 기호를 사용해서 곱해봅시다.
> m1*m2
[,1] [,2]
[1,] 1 9
[2,] 4 16
행렬곱의 결과가 아닙니다. 같은 위치에 있는 값끼리 곱해준 결과입니다. 행렬곱은 아래와 같은 연산자를 사용합니다.
%*%
이 연산자를 이용하여 곱셈을 해봅시다.
> m1%*%m2
[,1] [,2]
[1,] 7 15
[2,] 10 22
이번에는 크기가 다른 두 행렬을 정의합시다.
m1=matrix(c(1,2),nrow=1)
m2=matrix(c(1,2,3,4),nrow=2)
> m1
[,1] [,2]
[1,] 1 2
> m2
[,1] [,2]
[1,] 1 3
[2,] 2 4
곱해봅시다.
> m1%*%m2
[,1] [,2]
[1,] 5 11
자리를 바꾸면 어떻게 될까요??
> m2%*%m1
Error in m2 %*% m1 : non-conformable arguments
차원이 맞지 않아서 행렬곱이 정의되지 않습니다.
영상이 더 편하신 분
반응형
'R 주제 > R 기초 및 통계 강의' 카테고리의 다른 글
[R 강의] 86. 결측치(NA) 확인, 제거, 수정하는 방법 (0) | 2020.05.15 |
---|---|
[R 강의] 85. R에서 정의된 벡터는 열벡터일까 행벡터일까 (0) | 2020.04.04 |
[R 강의] 83. 행렬 또는 데이터프레임의 행과 열을 바꾸는 방법 t() (0) | 2020.04.02 |
[R 강의] 82.R스튜디오 레이아웃 바꾸는 방법 (0) | 2020.04.02 |
[R 강의] 81. 알고보니 R Gui에도 있던 스트립트 run 기능 (0) | 2020.04.02 |
댓글