A: как использовать оператор if с несколькими условиями


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

Метод 1: оператор if с несколькими условиями с использованием OR

 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 to 8 5
2 to 8 10
3 to 10 9
4 to 13 6
5 B 17 8
6 B 19 10
7 B 22 11
8 B 25 12

Пример 1: оператор if с несколькими условиями с использованием OR

В следующем коде показано, как создать новый столбец с именем « рейтинг» , который присваивает значение «хорошо», если столбец «очки» больше 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 to 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *