R : Comment utiliser l’instruction If avec plusieurs conditions



Vous pouvez utiliser les méthodes suivantes pour créer une nouvelle colonne dans R à l’aide d’une instruction IF avec plusieurs conditions :

Méthode 1 : instruction If avec plusieurs conditions utilisant OR

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

Méthode 2 : instruction If avec plusieurs conditions utilisant AND

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

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant :

#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

Exemple 1 : instruction If avec plusieurs conditions utilisant OR

Le code suivant montre comment créer une nouvelle colonne appelée note qui attribue une valeur « bon » si la colonne des points est supérieure à 15 ou si la colonne des passes décisives est supérieure à 8.

Sinon, il attribue la valeur « mauvais » :

#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

Chaque joueur reçoit une valeur de « bon » ou « mauvais » dans la colonne de notation nouvellement créée.

Notez que le | L’opérateur est utilisé comme instruction « ou » dans R.

Exemple 2 : instruction If avec plusieurs conditions utilisant AND

Le code suivant montre comment créer une nouvelle colonne appelée note qui attribue une valeur « bon » si la colonne des points est supérieure à 15 et la colonne des passes décisives est supérieure à 8.

Sinon, il attribue la valeur « mauvais » :

#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

Chaque joueur reçoit une valeur de « bon » ou « mauvais » dans la colonne de notation nouvellement créée.

Notez que l’opérateur & est utilisé comme instruction « et » dans R.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :

Comment écrire une instruction If Else imbriquée dans R
Comment écrire une boucle For imbriquée dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *