R : Comment filtrer les lignes où la colonne se trouve entre deux valeurs
Vous pouvez utiliser les méthodes suivantes pour filtrer un bloc de données dans R où une colonne spécifique se trouve entre deux valeurs :
Méthode 1 : utiliser Base R
df_new <- subset(df, points %in% 100:120)
Méthode 2 : utiliser dplyr
library(dplyr) df_new <- df %>% filter(between(points, 100, 120))
Ces deux exemples filtrent un bloc de données pour contenir uniquement les lignes dont la valeur dans la colonne points est comprise entre 100 et 120 .
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(team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
points=c(104, 110, 134, 125, 114, 124),
assists=c(22, 30, 35, 35, 20, 27))
#view data frame
df
team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27
Exemple 1 : filtrer où la colonne se trouve entre deux valeurs à l’aide de Base R
Nous pouvons utiliser la syntaxe suivante avec la fonction subset() de la base R pour filtrer le bloc de données afin de contenir uniquement les lignes dont la valeur dans la colonne des points est comprise entre 100 et 120 :
#filter for rows where value in points column is between 100 and 120 df_new <- subset(df, points %in% 100:120) #view updated data frame df_new team points assists 1 Mavs 104 22 2 Pacers 110 30 3 Nets 114 20
Notez que seules les lignes dont la valeur dans la colonne des points est comprise entre 100 et 120 sont conservées.
Toutes les autres lignes dont la valeur est en dehors de cette plage sont supprimées.
Exemple 2 : filtrer où la colonne se trouve entre deux valeurs à l’aide de dplyr
Nous pouvons utiliser la syntaxe suivante avec les fonctions filter() et between() du package dplyr dans R pour filtrer le bloc de données afin de contenir uniquement les lignes dont la valeur dans la colonne des points est comprise entre 100 et 120 :
library(dplyr) #filter for rows where value in points column is between 100 and 120 df_new <- df %>% filter(between(points, 100, 120)) #view updated data frame df_new team points assists 1 Mavs 104 22 2 Pacers 110 30 3 Nets 114 20
Notez que seules les lignes dont la valeur dans la colonne des points est comprise entre 100 et 120 sont conservées.
Notez également que cette méthode produit le même résultat que la méthode de base R.
Remarque : Vous pouvez trouver la documentation complète de la fonction de filtre dans dplyr ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :
Comment utiliser %in% pour filtrer les lignes avec une valeur dans la liste dans R
Comment filtrer selon plusieurs conditions à l’aide de dplyr
Comment filtrer les lignes contenant une certaine chaîne à l’aide de dplyr