R

[R 프로그래밍] switch()

동호다찌 2022. 12. 22. 09:28
반응형

switch()

switch()는 if()와 비슷한 조건함수입니다. 조건이 많을때 코드를 간결하게 표현하기 위해서 if() 대신 사용하기도 합니다.

 

switch 문은 아래와 같은 형식으로 사용합니다.

switch(입력값, 조건1 = 명령문1, 조건2 = 명령문2, ... 조건k = 명령문k)

 

예를 들어봅시다. switch 문이 들어있는 함수를 하나 정의합시다. 

> x <- "한국인"
> switch(x, 
+        "영국인" = print("영국인입니다!"),
+        "미국인" = print("미국인입니다!"),
+        "한국인" = print("한국인입니다!")
+        );
[1] "한국인입니다!"

 

지시값을 직접 텍스트로 입력하지 않아도 됩니다. 숫자를 입력하면 해당 순서에 있는 것이 출력됩니다.

x <- 2
switch(x,
       "영국인" = print("영국인입니다!"),
       "한국인" = print("한국인입니다!"),
       "미국인" = print("미국인입니다!"),
       stop("지시값이 정확하지 않습니다!")
)
#> [1] "한국인입니다!"
 

 

아래 예제는 R 도움말에 있는 예제를 활용한 것입니다. 평균, 중위수 등을 선택해서 사용하도록 하는 함수를 만들었습니다.

 

> help(switch)
 
> centre <- function(x, type) {
+   switch(type,
+          mean = mean(x),
+          median = median(x),
+          trimmed = mean(x, trim = .1))
+ }
> x <- rcauchy(10)
> centre(x, "mean")
[1] -0.273234

> centre(x, "median")
[1] -0.8853521

> centre(x, "trimmed")
[1] -0.1717563

 

help(switch)를 입력하시면 R 스튜디오 우측 하단 부분에 Help 탭에서 해당 문법에 대해 설명을 보여줍니다.

 

 

반응형

'R' 카테고리의 다른 글

[R 프로그래밍] while()  (0) 2022.12.22
[R 프로그래밍] for()  (0) 2022.12.22
[R 프로그래밍] ifelse()  (1) 2022.12.21
[R 프로그래밍] If()  (0) 2022.12.21
[R 프로그래밍] 데이터프레임(data frame)  (0) 2022.12.21