함수가 예상대로 잘 동작한다. else if와 else 분기를 추가하면 양수 입력에서는 1, 음수 입력에서는 -1, 0에서는 0을 반환하는 일반적인 sign 함수를 만들 수 있다.
> check_sign <- function(x) { + if (x > 0) { + return(1) + } else if (x < 0) { + return(-1) + } else { + return(0) + } + }
앞 함수는 내장 함수 sign()과 기능이 동일하다. 논리를 검증하고자 분기별 조건을 모두 포함하는 입력으로 함수를 호출해 보자.
> check_sign(15) [1] 1 > check_sign(-3.5) [1] -1 > check_sign(0) [1] 0