R : Comment utiliser la fonction which() avec plusieurs conditions
Vous pouvez utiliser les méthodes suivantes pour utiliser la fonction which() avec plusieurs conditions dans R :
Méthode 1 : which() avec plusieurs conditions utilisant AND
new_df <- df[which(df$my_column >= 14 & df$my_column <= 25), ]
Méthode 2 : which() avec plusieurs conditions utilisant OR
new_df <- df[which(df$my_column < 14 | df$my_column > 25), ]
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant :
#create data frame
df <- data.frame(player=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'),
points=c(10, 13, 13, 15, 19, 22, 24, 25, 29, 35))
#view data frame
df
player points
1 A 10
2 B 13
3 C 13
4 D 15
5 E 19
6 F 22
7 G 24
8 H 25
9 I 29
10 J 35
Exemple 1 : which() avec plusieurs conditions utilisant AND
Le code suivant montre comment utiliser la fonction which() pour filtrer le bloc de données afin de contenir uniquement les lignes dont la valeur dans la colonne points est supérieure ou égale à 14 et inférieure ou égale à 25 :
#filter for players who score between 14 and 25 points
new_df <- df[which(df$points >= 14 & df$points <= 25), ]
#view results
new_df
player points
4 D 15
5 E 19
6 F 22
7 G 24
8 H 25
Notez que le bloc de données est filtré pour contenir uniquement les lignes dont la valeur dans la colonne des points est supérieure ou égale à 14 et inférieure ou égale à 25.
Notez que l’opérateur & est utilisé comme instruction « et » dans R.
Exemple 2 : which() avec plusieurs conditions utilisant OR
Le code suivant montre comment utiliser la fonction which() pour filtrer le bloc de données afin de contenir uniquement les lignes dont la valeur dans la colonne de points est inférieure à 14 ou supérieure à 25 :
Sinon, il attribue la valeur « mauvais » :
#filter for players who score less than 14 or greater than 25 points
new_df <- df[which(df$points < 14 | df$points > 25), ]
#view results
new_df
player points
1 A 10
2 B 13
3 C 13
9 I 29
10 J 35
Notez que le bloc de données est filtré pour contenir uniquement les lignes dont la valeur dans la colonne de points est inférieure à 14 ou supérieure à 25.
Notez que le | L’opérateur est utilisé comme instruction « ou » dans R.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment utiliser l’instruction If avec plusieurs conditions dans R
Comment écrire une instruction If Else imbriquée dans R
Comment écrire une boucle For imbriquée dans R