상세 컨텐츠

본문 제목

함수 Sweep()

coding/Rstudio

by 손가우 2021. 10. 9. 21:41

본문

 

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

관련글 더보기

댓글 영역