Як написати вкладений оператор 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 тут .