ifelse 함수와 비교했을 때 switch는 if와 좀 더 유사하다. 단일 값(숫자나 문자열)을 입력으로 받으며 어떤 값이든 반환할 수 있다.
> switch_test <- function(x) { + switch(x, + a = c(1, 2, 3), + b = list(x = 0, y = 1), + c= { + cat("You choose c!\n") + list(name = "c", value = "something") + }) + } > switch_test("a") [1] 1 2 3 > switch_test("b") $x [1] 0 $y [1] 1 > switch_test("c") You choose c! $name [1] "c" $value [1] "something"
결론적으로 if, ifelse, switch 함수 모두 조금씩 특징이 다르기 때문에 상황에 맞게 잘 활용해야 한다.