R : Comment sélectionner des lignes dans un bloc de données en fonction des valeurs du vecteur
Vous pouvez utiliser l’une des méthodes suivantes pour sélectionner des lignes d’un bloc de données dans R en fonction des valeurs d’un vecteur :
Méthode 1 : utiliser Base R
new_df <- df[df$column_name %in% values_vector, ]
Méthode 2 : utiliser le package dplyr
library(dplyr)
new_df <- df %>% filter(column_name %in% values_vector)
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant dans R :
#create data frame
df <- data.frame(division=c('West', 'West', 'East', 'East', 'North'),
points=c(120, 100, 104, 98, 105),
assists=c(30, 35, 64, 28, 23))
#view data frame
df
division points assists
1 West 120 30
2 West 100 35
3 East 104 64
4 East 98 28
5 North 105 23
Exemple 1 : utiliser Base R pour sélectionner des lignes en fonction des valeurs du vecteur
Nous pouvons utiliser le code suivant pour sélectionner uniquement les lignes du bloc de données d’origine où la valeur dans la colonne de division est égale à « Ouest » ou « Nord ».
#define values of interest
my_values <- c('West', 'North')
#select rows that contain 'West' or 'North' in division column
new_df <- df[df$division %in% my_values, ]
#view results
new_df
division points assists
1 West 120 30
2 West 100 35
5 North 105 23
Le nouveau bloc de données contient uniquement les lignes dont la valeur dans la colonne de division est égale à « Ouest » ou « Nord ».
Exemple 2 : utilisez dplyr pour sélectionner des lignes en fonction des valeurs du vecteur
Nous pouvons également utiliser la fonction filter() du package dplyr dans R pour sélectionner uniquement les lignes du bloc de données d’origine où la valeur dans la colonne de division est égale à « Ouest » ou « Nord ».
library(dplyr)
#define values of interest
my_values <- c('West', 'North')
#select rows that contain 'West' or 'North' in division column
new_df <- df %>% filter(division %in% my_values)
#view results
new_df
division points assists
1 West 120 30
2 West 100 35
3 North 105 23
Le nouveau bloc de données contient uniquement les lignes dont la valeur dans la colonne de division est égale à « Ouest » ou « Nord ».
Remarque : Les méthodes de base R et dplyr produisent les mêmes résultats. Cependant, la méthode dplyr aura tendance à être plus rapide lorsque vous travaillez avec des trames de données extrêmement volumineuses.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment sélectionner des lignes aléatoires dans R à l’aide de dplyr
Comment sélectionner des lignes par condition dans R
Comment sélectionner les lignes où la valeur apparaît dans n’importe quelle colonne de R