Comment sélectionner des lignes uniques dans un bloc de données dans R



Vous pouvez utiliser les méthodes suivantes pour sélectionner des lignes uniques dans un bloc de données dans R :

Méthode 1 : sélectionner des lignes uniques dans toutes les colonnes

library(dplyr)

df %>% distinct()

Méthode 2 : sélectionner des lignes uniques basées sur une colonne

library(dplyr)

df %>% distinct(column1, .keep_all=TRUE)

Méthode 3 : sélectionner des lignes uniques basées sur plusieurs colonnes

library(dplyr)

df %>% distinct(column1, column2, .keep_all=TRUE)

Ce tutoriel explique comment utiliser chaque méthode en pratique avec le bloc de données suivant :

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 10, 8, 14, 15, 15, 17, 17))

#view data frame
df

  team position points
1    A        G     10
2    A        G     10
3    A        F      8
4    A        F     14
5    B        G     15
6    B        G     15
7    B        F     17
8    B        F     17

Exemple 1 : sélectionner des lignes uniques dans toutes les colonnes

Le code suivant montre comment sélectionner des lignes ayant des valeurs uniques dans toutes les colonnes du bloc de données :

library(dplyr)

#select rows with unique values across all columns
df %>% distinct()

  team position points
1    A        G     10
2    A        F      8
3    A        F     14
4    B        G     15
5    B        F     17

Nous pouvons voir qu’il y a cinq lignes uniques dans le bloc de données.

Remarque : Lorsque des lignes en double sont rencontrées, seule la première ligne unique est conservée.

Exemple 2 : sélectionner des lignes uniques basées sur une colonne

Le code suivant montre comment sélectionner des lignes uniques en fonction de la colonne d’équipe uniquement.

library(dplyr)

#select rows with unique values based on team column only
df %>% distinct(team, .keep_all=TRUE)

  team position points
1    A        G     10
2    B        G     15

Puisqu’il n’y a que deux valeurs uniques dans la colonne équipe , seules les lignes avec la première occurrence de chaque valeur sont conservées.

Remarque : L’argument .keep_all=TRUE indique à R de conserver toutes les autres colonnes dans la sortie.

Exemple 3 : sélectionner des lignes uniques basées sur plusieurs colonnes

Le code suivant montre comment sélectionner des lignes uniques en fonction des colonnes d’équipe et de position uniquement.

library(dplyr)

#select rows with unique values based on team and position columns only
df %>% distinct(team, position, .keep_all=TRUE)

  team position points
1    A        G     10
2    A        F      8
3    B        G     15
4    B        F     17

Quatre lignes sont renvoyées, car il existe quatre combinaisons uniques de valeurs dans les colonnes d’équipe et de position .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment filtrer les valeurs uniques à l’aide de dplyr
Comment filtrer selon plusieurs conditions à l’aide de dplyr
Comment compter le nombre d’occurrences dans les colonnes de R

Ajouter un commentaire

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