R/R

[R] 09. 조건문(ifelse/if문)

구름솜:D 2023. 12. 5. 19:11
728x90

조건문이란,  주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문으로 프로그래밍에서 조건을 판단하여 해당 조건에 맞는 상황을 수행하기 위해 처리하는 문장을 말한다.

 

R에서는 조건문을 수행하는데 ifelse문과 if문 두가지로 구현할 수 있다.

ifelse와 if문은 스칼라 단위로 하나씩 조건을 확인하기에 조건식의 변수로 벡터, 리스트등이 선언될 수 없다.

 

 

1.  ifelse함수

 - 조건별로 참과 거짓일때의 리턴값 전달 가능(복잡한 프로그래밍 처리 불가)

ifelse( 조건식, 참일때 리턴값(생략불가), 거짓일때 리턴값(생략불가))

v1 <- 2
v2 <- 5

#조건이 참일 때
ifelse(v1 < 5,v2 <- c(v2,10), v2 <- c(v2,20))
> v2
[1]  5 10

#조건이 거짓일 때
ifelse(v1 > 5,v2 <- c(v2,10), v2 <- c(v2,20))
> v2
[1]  5 20

 

2. if문

 - 조건의 참 거짓에 따른 여러 프로그래밍 처리 가능
1) if (조건) {
    참일때 리턴/연산
    } else {
    거짓일때 리턴/연산
    }

v1 <- 5

if(v1 < 5){
  print('v1은 5보다 작습니다')
} else {
  print('v1은 5보다 같거나 큽니다')
}

[1] "v1은 5보다 큽니다"

2) if (조건1) {
     조건1 참일 때 리턴/연산
    } else if (조건2) {
    (조건1이 거짓이면서) 조건2 참일 때 리턴/연산
    } else {
     조건1,조건2 모두 거짓일 때 리턴/연산
    }

v1 <- 5

if(v1 <5){
  print('v1은 5보다 작습니다')
} else if(v1==5) {
  print('v1은 5입니다')
} else{
  print('v1은 5보다 큽니다')
}

[1] "v1은 5입니다"

 

 

* 연산자

1. 비교연산자(관계연산자) : ==, >, <, !=, >=, <=,!(not)

2. 논리연산자 :&(and), |(or)
ex. (v1 > 5) & (v1 < 7)    # 사용 가능      (v1 > 5) and (v1 < 7)    # and 사용 불가
ex. (v1 > 5) | (v1 < 7)      # 사용 가능     (v1 > 5) or (v1 < 7)     # or 사용 불가

3. 포함연산자(in연산자) :  %in%

ex. v1[v1 %in% c(1,9)]

4. 산술연산자 : +,-,*,/,%/%(몫), %%(나머지), **또는 ^(제곱수)

'R > R' 카테고리의 다른 글

[R] 23. 시각화 - 그래프 디자인하기  (0) 2023.12.08
[R] 22. 데이터시각화(plot함수)  (0) 2023.12.08
[R] 08. 문자열관련함수(stringr)  (0) 2023.11.29
[R] 04. 함수(function)  (0) 2023.11.22
[R] 03. 형 변환(casting)  (0) 2023.11.22