더북(TheBook)

ifelse 함수와 비교했을 때 switchif와 좀 더 유사하다. 단일 값(숫자나 문자열)을 입력으로 받으며 어떤 값이든 반환할 수 있다.

> 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 함수 모두 조금씩 특징이 다르기 때문에 상황에 맞게 잘 활용해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.