Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

R : Comment utiliser %in% pour filtrer les lignes avec une valeur dans la liste



Vous pouvez utiliser la syntaxe de base suivante avec l’opérateur %in% dans R pour filtrer les lignes contenant une valeur dans une liste :

library(dplyr)

#specify team names to keep
team_names <- c('Mavs', 'Pacers', 'Nets')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

Cette syntaxe particulière filtre un bloc de données pour conserver uniquement les lignes où la valeur de la colonne team est égale à l’une des trois valeurs du vecteur team_names que nous avons spécifié.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : utilisation de %in% pour filtrer les lignes avec une valeur dans la liste

Supposons que nous ayons le bloc de données suivant dans R qui contient des informations sur diverses équipes de basket-ball :

#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

Supposons que nous souhaitions filtrer le bloc de données pour qu’il contienne uniquement les lignes dont la valeur dans la colonne d’équipe est égale à l’un des noms d’équipe suivants :

  • Mavs
  • Pacers
  • Filets

Nous pouvons utiliser la syntaxe suivante avec l’opérateur %in% pour ce faire :

library(dplyr)

#specify team names to keep
team_names <- c('Mavs', 'Pacers', 'Nets')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

#view updated data frame
df_new

    team points assists
1   Mavs    104      22
2 Pacers    110      30
3   Mavs    134      35
4   Nets    114      20
5 Pacers    124      27

Notez que seules les lignes avec une valeur Mavs, Pacers ou Nets dans la colonne équipe sont conservées.

Si vous souhaitez filtrer les lignes où le nom de l’équipe ne figure pas dans une liste de noms d’équipe, ajoutez simplement un point d’exclamation ( ! ) devant le nom de la colonne :

library(dplyr)

#specify team names to not keep
team_names <- c('Mavs', 'Pacers', 'Nets')

#select all rows where team is not in list of team names to keep
df_new <- df %>% filter(!team %in% team_names)

#view updated data frame
df_new

     team points assists
1 Celtics    125      35

Notez que seules les lignes dont la valeur n’est pas égale à Mavs, Pacers ou Nets dans la colonne équipe sont conservées.

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 dplyr :

Comment sélectionner la première ligne par groupe à l’aide de dplyr
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 *