R에서 중첩된 if else 문을 작성하는 방법(예제 포함)


기본 R의 ifelse() 함수를 사용하면 빠른 if-else 문을 작성할 수 있습니다. 이 함수는 다음 구문을 사용합니다.

ifelse(테스트, 예, 아니오)

금:

  • 테스트: 논리 테스트
  • yes: 논리 테스트가 True인 경우 반환할 값
  • no: 논리 테스트가 False인 경우 반환할 값

이 튜토리얼에서는 다음 데이터 프레임을 사용하여 이 함수를 사용하여 R에서 if else 문과 중첩된 if else 문을 작성하는 방법을 설명합니다.

 #create data frame
df <- data.frame(team = c('A', 'A', 'B', 'B', 'B', 'C', 'D'),
                 points = c(4, 7, 8, 8, 8, 9, 12),
                 rebounds = c(3, 3, 4, 4, 6, 7, 7))

#view data frame
df

  team points rebounds
1 to 4 3
2 to 7 3
3 B 8 4
4 B 8 4
5 B 8 6
6 C 9 7
7 D 12 7

예제 1: 기본 If Else 문을 작성하는 방법

다음 코드는 “팀” 열의 값을 기반으로 하는 값을 갖는 데이터 프레임에서 새 열을 생성하는 방법을 보여줍니다.

 #create new column in data frame
df$rating <- ifelse (df$team == ' A ', ' great ', ' bad ')

#view data frame
df

  team points rebounds rating
1 A 4 3 great
2 A 7 3 great
3 B 8 4 bad
4 B 8 4 bad
5 B 8 6 bad
6 C 9 7 bad
7 D 12 7 bad

이 간단한 ifel 문은 R에게 다음을 수행하도록 지시합니다.

  • 팀 열의 값이 “A”인 경우 플레이어에게 “훌륭함” 등급을 부여합니다.
  • 그렇지 않으면 “가난한” 플레이어를 놓치게 됩니다.

예제 2: 중첩된 If Else 문을 작성하는 방법

다음 코드는 중첩된 if else 문을 작성하여 데이터 프레임에 새 열을 만드는 방법을 보여줍니다.

 #create new column in data frame
df$rating <- ifelse (df$team == ' A ', ' great ',
               ifelse (df$team == ' B ', ' OK ', ' bad '))

#view data frame
df

  team points rebounds rating
1 A 4 3 great
2 A 7 3 great
3 B 8 4 OK
4 B 8 4 OK
5 B 8 6 OK
6 C 9 7 bad
7 D 12 7 bad

이 중첩된 ifelse 문은 R에게 다음을 수행하도록 지시합니다.

  • 팀 열의 값이 “A”인 경우 플레이어에게 “훌륭함” 등급을 부여합니다.
  • 그렇지 않고 팀 열의 값이 “B”이면 플레이어에게 “OK” 등급을 부여합니다.
  • 그렇지 않으면 “가난한” 플레이어를 놓치게 됩니다.

예제 3: 더 긴 중첩 If Else 문을 작성하는 방법

다음 코드는 더 긴 중첩 if else 문을 작성하여 데이터 프레임에 새 열을 만드는 방법을 보여줍니다.

 #create new column in data frame
df$rating <- ifelse (df$team == ' A ', ' great ',
               ifelse (df$team == ' B ', ' OK ',
                 ifelse (df$team == ' C ', ' decent ', ' bad ')))

#view data frame
df

  team points rebounds rating
1 A 4 3 great
2 A 7 3 great
3 B 8 4 OK
4 B 8 4 OK
5 B 8 6 OK
6 C 9 7 decent
7 D 12 7 bad

이 중첩된 ifelse 문은 R에게 다음을 수행하도록 지시합니다.

  • 팀 열의 값이 “A”인 경우 플레이어에게 “훌륭함” 등급을 부여합니다.
  • 그렇지 않고 팀 열의 값이 “B”이면 플레이어에게 “OK” 등급을 부여합니다.
  • 그렇지 않고 팀 열의 값이 “C”이면 플레이어에게 “보통” 등급을 부여합니다.
  • 그렇지 않으면 “가난한” 플레이어를 놓치게 됩니다.

이 정확한 패턴을 사용하여 원하는 만큼 중첩된 ifelse 문을 작성할 수 있습니다.

여기에서 더 많은 R 튜토리얼을 찾을 수 있습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다