반응형
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
반응형
'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 |