sweep()함수는
- x: matrix
- MARGIN: Margine=1은 ROW(행)에 따라 작동, Margine=2은 열에 따라 작동
- STATS: 특정행렬이 사용할 때 포함하는 것
- FUN: 연산식
1) 사용방법
P97
[1] 46684069
LI97
G1 G2 G3
1 471353023 626489073 1367895686
HI97
[1] 18653136
PHL<-P97*sweep(LI97, MARGIN=2, FUN="*", STATS=HI97)
PHL
G1 G2 G3
1 4.104562e+23 5.455494e+23 1.191169e+24
곱을 할 때 sweep
P97은 1X1행렬
LI97은 1X3행렬
HI97은 1X1 행렬
HI97 행렬이 더 큰 쪽에 STATS를 곱해야함
STATS 자리에 LI97을 놓으면 오류가 남..
2) 필요한 이유
일반 곱셉으로는 행렬 사이즈 같은 데이터만 가능하다.
아래와 같이 행렬사이즈가 다른 데이터를 곱셈시 오류가 발생한다.
이런 경우 sweep(대문자는 안 됨) 함수를 사용한다.
AI97
house1 house1.1 house1.2
1 8.882738 6.683126 3.060837
CI97
G1 G2 G3
1 0.016230035 0.0066465070 0.0033104747
25 0.001523998 0.0001518239 0.0003666939
AI97*CI97
Error in Ops.data.frame(AI97, CI97) :
동일한 사이즈의 데이터 프레임들의 경우에만 정의된 ‘*’입니다.
참고한 사이트
https://statisticsglobe.com/r-sweep-function-example/
R sweep Function | 3 Example Codes (MARGIN, STATS & FUN)
How to apply the sweep function in R programming - 3 reproducible examples - Detailed explanations for the arguments MARGIN, STATS & FUN - R sweep explained
statisticsglobe.com
'coding > Rstudio' 카테고리의 다른 글
R tapply() 함수 (0) | 2021.10.10 |
---|---|
함수 for() (0) | 2021.10.09 |
함수 apply() (0) | 2021.10.09 |
R tapply (0) | 2021.10.07 |
R코딩 인덱스 정보로 데이터 찾기 (0) | 2021.10.07 |