if
먼저 조건에 따라 코드의 수행 여부를 결정하는 if 문에 대해 살펴본다. 다음은 if 문의 문법 구조를 정리한 표다.
문법 |
의미 |
if (cond) { cond가 참일 때 실행할 문장 } else { cond가 거짓일 때 실행할 문장 } |
조건 cond가 참, 거짓인 경우에 따라 {} 블록을 실행한다. 필요한 경우 else 블록을 지정할 수 있다. |
다수의 TRUE, FALSE 데이터를 한 번에 처리한다면 ifelse( ) 함수를 고려할 수 있다.
ifelse : 주어진 test 값에 따라 yes 또는 no 값을 반환한다. |
ifelse( test, # 참, 거짓을 저장한 객체 yes, # test가 참일 때 선택할 값 no # test가 거짓일 때 선택할 값 ) test에 다수의 TRUE, FALSE가 저장되어 있을 때 TRUE에 대해서는 yes 값을, FALSE에 대해서는 no 값을 선택하여 반환한다. |
조건문 if의 예를 살펴보자.
> if ( TRUE ) { + print("TRUE") + print("hello") + } else { + print("FALSE") + print("world") + } [1] "TRUE" [1] "hello"
위 코드의 결과는 “TRUE”, “hello”다.
ifelse( )를 사용하면 if 문을 다수의 데이터에 한 번에 적용하는 연산이 가능하다. 다음은 1, 2, 3, 4, 5에서 값이 짝수일 경우 “even”, 홀수일 경우 “odd”를 출력하는 예다.
> x <- c(1, 2, 3, 4, 5) > ifelse(x %% 2 == 0, "even", "odd") [1] "odd" "even" "odd" "even" "odd"