R: Как использовать оператор If с несколькими условиями


Вы можете использовать следующие методы для создания нового столбца в R, используя оператор IF с несколькими условиями:

Метод 1: Оператор If с несколькими условиями с использованием ИЛИ

df$new_var <- ifelse(df$var1>15 | df$var2>8, " value1", " value2 ")

Метод 2: Оператор If с несколькими условиями с использованием AND

df$new_var <- ifelse(df$var1>15 & df$var2>8, " value1", " value2 ")

В следующих примерах показано, как использовать каждый метод на практике со следующим фреймом данных:

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
 points=c(8, 8, 10, 13, 17, 19, 22, 25),
 assists=c(5, 10, 9, 6, 8, 10, 11, 12))

#view data frame
df

 team points assists
1 A 8 5
2 A 8 10
3 A 10 9
4 A 13 6
5 B 17 8
6 B 19 10
7 B 22 11
8 B 25 12

Пример 1. Оператор If с несколькими условиями с использованием оператора ИЛИ

В следующем коде показано, как создать новый столбец с именем рейтинг , который присваивает значение «хорошо», если столбец очков больше 15 или столбец передач больше 8.

В противном случае он присваивает значение «плохо»:

#create new "rating" column using if statement with multiple conditions
df$rating <- ifelse(df$points>15 | df$assists>8, " good", " bad ")

#view updated data frame
df

 team points assists rating
1 A 8 5 bad
2 A 8 10 good
3 A 10 9 good
4 A 13 6 bad
5 B 17 8 good
6 B 19 10 good
7 B 22 11 good
8 B 25 12 good

Каждый игрок получает значение «хорошо» или «плохо» во вновь созданной колонке рейтинга .

Обратите внимание, что | оператор используется как оператор «или» в R.

Пример 2. Оператор If с несколькими условиями с использованием AND

В следующем коде показано, как создать новый столбец с именем рейтинг , который присваивает значение «хорошо», если столбец очков больше 15, а столбец передач больше 8.

В противном случае он присваивает значение «плохо»:

#create new "rating" column using if statement with multiple conditions
df$rating <- ifelse(df$points>15 & df$assists>8, " good", " bad ")

#view updated data frame
df

 team points assists rating
1 A 8 5 bad
2 A 8 10 bad
3 A 10 9 bad
4 A 13 6 bad
5 B 17 8 bad
6 B 19 10 good
7 B 22 11 good
8 B 25 12 good

Каждый игрок получает значение «хорошо» или «плохо» во вновь созданной колонке рейтинга .

Обратите внимание, что оператор & используется как оператор «и» в R.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в R:

Как написать вложенный оператор If Else в R
Как написать вложенный цикл for в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.