Comment sélectionner des lignes par condition dans R (avec exemples)
Vous pouvez utiliser l’une des méthodes suivantes pour sélectionner des lignes par condition dans R :
Méthode 1 : sélectionner des lignes en fonction d’une condition
df[df$var1 == 'value', ]
Méthode 2 : sélectionner des lignes en fonction de plusieurs conditions
df[df$var1 == 'value1' & df$var2 > value2, ]
Méthode 3 : sélectionner les lignes en fonction de la valeur dans la liste
df[df$var1 %in% c('value1', 'value2', 'value3'), ]
Les exemples suivants montrent comment utiliser chaque méthode avec le bloc de données suivant dans R :
#create data frame df <- data.frame(points=c(1, 2, 4, 3, 4, 8), assists=c(6, 6, 7, 8, 8, 9), team=c('A', 'A', 'A', 'B', 'C', 'C')) #view data frame df points assists team 1 1 6 A 2 2 6 A 3 4 7 A 4 3 8 B 5 4 8 C 6 8 9 C
Méthode 1 : sélectionner des lignes en fonction d’une condition
Le code suivant montre comment sélectionner des lignes en fonction d’une condition dans R :
#select rows where team is equal to 'A' df[df$team == 'A', ] points assists team 1 1 6 A 2 2 6 A 3 4 7 A
Notez que seules les lignes où l’équipe est égale à « A » sont sélectionnées.
Nous pouvons également utiliser != pour sélectionner des lignes qui ne sont pas égales à une valeur :
#select rows where team is not equal to 'A' df[df$team != 'A', ] points assists team 4 3 8 B 5 4 8 C 6 8 9 C
Méthode 2 : sélectionner des lignes en fonction de plusieurs conditions
Le code suivant montre comment sélectionner des lignes en fonction de plusieurs conditions dans R :
#select rows where team is equal to 'A' and points is greater than 1 df[df$team == 'A' & df$points > 1, ] points assists team 2 2 6 A 3 4 7 A
Notez que seules les lignes où l’équipe est égale à « A » et où les points sont supérieurs à 1 sont sélectionnées.
Méthode 3 : sélectionner les lignes en fonction de la valeur dans la liste
Le code suivant montre comment sélectionner les lignes dans lesquelles la valeur d’une certaine colonne appartient à une liste de valeurs :
#select rows where team is equal to 'A' or 'C' df[df$team %in% c('A', 'C'), ]
Notez que seules les lignes où l’équipe est égale à « A » ou « C » sont sélectionnées.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :
Comment sélectionner les lignes où la valeur apparaît dans n’importe quelle colonne de R
Comment sélectionner des colonnes spécifiques dans R
Comment sélectionner des colonnes par index dans R