Як написати вкладений оператор if else у r (з прикладами)


Функцію ifelse() у базовому R можна використовувати для написання швидких операторів if-else. Ця функція використовує такий синтаксис:

ifelse (тест, так, ні)

золото:

  • тест: логічний тест
  • yes: значення, яке повертається, якщо перевірка логіки має значення True
  • no: значення, яке повертається, якщо логічний тест має значення False

У цьому підручнику пояснюється, як використовувати цю функцію для написання операторів if else, а також вкладених операторів if else у R, використовуючи такий кадр даних:

 #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

Цей простий оператор ifelse наказує R зробити наступне:

  • Якщо в графі «Команда» значення «А», дайте гравцеві оцінку «відмінно».
  • Інакше пропустіть гравця «бідно».

Приклад 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 зробити наступне:

  • Якщо в графі «Команда» значення «А», дайте гравцеві оцінку «відмінно».
  • В іншому випадку, якщо значення в колонці команди «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 зробити наступне:

  • Якщо в графі «Команда» значення «А», дайте гравцеві оцінку «відмінно».
  • В іншому випадку, якщо значення в колонці команди «B», дайте гравцеві оцінку «ОК».
  • В іншому випадку, якщо значення в колонці команди «C», дайте гравцеві оцінку «Достойно».
  • Інакше пропустіть гравця «бідно».

Зверніть увагу, що ви можете використовувати цей точний шаблон для написання вкладених операторів ifelse скільки завгодно довго.

Ви можете знайти більше навчальних посібників з R тут .

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *