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

Ajouter un commentaire

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