Comment supprimer les lignes en double dans R (avec exemples)
Vous pouvez utiliser l’une des deux méthodes suivantes pour supprimer les lignes en double d’un bloc de données dans R :
Méthode 1 : utiliser Base R
#remove duplicate rows across entire data frame df[!duplicated(df), ] #remove duplicate rows across specific columns of data frame df[!duplicated(df[c('var1')]), ]
Méthode 2 : utiliser dplyr
#remove duplicate rows across entire data frame df %>% distinct(.keep_all = TRUE) #remove duplicate rows across specific columns of data frame df %>% distinct(var1, .keep_all = TRUE)
Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le bloc de données suivant :
#define data frame df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B'), position=c('Guard', 'Guard', 'Forward', 'Guard', 'Center', 'Center')) #view data frame df team position 1 A Guard 2 A Guard 3 A Forward 4 B Guard 5 B Center 6 B Center
Exemple 1 : Supprimer les lignes en double à l’aide de Base R
Le code suivant montre comment supprimer les lignes en double d’un bloc de données à l’aide des fonctions de la base R :
#remove duplicate rows from data frame
df[!duplicated(df), ]
team position
1 A Guard
3 A Forward
4 B Guard
5 B Center
Le code suivant montre comment supprimer les lignes en double de colonnes spécifiques d’un bloc de données en utilisant la base R :
#remove rows where there are duplicates in the 'team' column
df[!duplicated(df[c('team')]), ]
team position
1 A Guard
4 B Guard
Exemple 2 : Supprimer les lignes en double à l’aide de dplyr
Le code suivant montre comment supprimer les lignes en double d’un bloc de données à l’aide de la fonction distinct() du package dplyr :
library(dplyr) #remove duplicate rows from data frame df %>% distinct(.keep_all = TRUE) team position 1 A Guard 2 A Forward 3 B Guard 4 B Center
Notez que l’argument .keep_all indique à R de conserver toutes les colonnes du bloc de données d’origine.
Le code suivant montre comment utiliser la fonction distinct() pour supprimer les lignes en double de colonnes spécifiques d’un bloc de données :
library(dplyr) #remove duplicate rows from data frame df %>% distinct(team, .keep_all = TRUE) team position 1 A Guard 2 B Guard
Ressources additionnelles
Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans R :
Comment supprimer des lignes dans R en fonction de la condition
Comment supprimer des lignes avec NA dans une colonne spécifique dans R