Actuellement vide: $0,00
R
Comment détecter et supprimer les doublons avec R
Dans tout projet de data cleaning, l’une des étapes les plus importantes est la détection et la suppression des doublons. Les doublons peuvent fausser les statistiques, biaiser les analyses et conduire à de mauvaises décisions. Heureusement, le langage R offre plusieurs approches simples et puissantes pour identifier et gérer les doublons efficacement.
Qu’est-ce qu’un doublon ?
Un doublon est une ligne ou un enregistrement qui apparaît plusieurs fois dans un jeu de données.
Par exemple, si vous avez deux lignes représentant le même individu ou la même transaction, vous avez un doublon.
Exemple :
| id | nom | âge | ville |
| 1 | Paul | 28 | Kinshasa |
| 2 | Marie | 34 | Lubumbashi |
| 3 | Paul | 28 | Kinshasa |
La première et la troisième ligne sont identiques : ce sont des doublons.
Étape 1 : Charger les données
Commençons par importer un petit jeu de données d’exemple dans R :
# Charger les librairies
library(dplyr)
# Exemple de données avec doublons
data <- data.frame(
id = c(1, 2, 3, 4, 5, 3),
nom = c("Paul", "Marie", "Jean", "Anne", "Luc", "Jean"),
age = c(28, 34, 45, 29, 31, 45),
ville = c("Kinshasa", "Lubumbashi", "Goma", "Kisangani", "Bukavu", "Goma")
)
data
Étape 2 : Détecter les doublons
Méthode de base avec duplicated()
La fonction duplicated() permet d’identifier les lignes répétées dans un data frame.
# Identifier les doublons
duplicated(data)
# Afficher les lignes dupliquées
data[duplicated(data), ]
Résultat : cette commande renvoie uniquement les lignes identiques à une autre déjà vue.
🧠 Astuce : détecter sur certaines colonnes
Parfois, deux lignes peuvent être considérées comme des doublons uniquement sur certaines colonnes (ex : nom + âge).
# Détecter les doublons sur les colonnes nom et âge
data[duplicated(data[, c("nom", "age")]), ]
Cela permet de repérer des individus qui apparaissent plusieurs fois avec les mêmes caractéristiques, même si d’autres colonnes diffèrent.
Étape 3 : Supprimer les doublons
Supprimer les doublons avec distinct() du package dplyr
dplyr simplifie grandement le nettoyage :
# Supprimer les doublons sur toutes les colonnes
data_clean <- data %>% distinct()
data_clean
Supprimer les doublons selon certaines colonnes
# Garder une seule ligne par combinaison nom + âge
data_clean <- data %>% distinct(nom, age, .keep_all = TRUE)
data_clean
L’option .keep_all = TRUE permet de conserver toutes les colonnes, même celles non utilisées pour détecter les doublons.
Étape 4 : Vérifier le résultat
# Vérifier qu’il n’y a plus de doublons
any(duplicated(data_clean))
Si cette commande renvoie FALSE, cela signifie que votre jeu de données est maintenant propre et sans doublons 🎉
Bonus : compter les doublons
Si vous souhaitez savoir combien de doublons se répètent et combien de fois, vous pouvez utiliser dplyr :
data %>%
group_by(nom, age) %>%
summarise(n = n()) %>%
filter(n > 1)
Cela vous permet d’obtenir un résumé des doublons présents dans votre dataset.
En résumé
| Étape | Fonction clé | Description |
| 1 | duplicated() | Identifier les doublons |
| 2 | data[duplicated(data), ] | Afficher les lignes dupliquées |
| 3 | distinct() | Supprimer les doublons |
| 4 | .keep_all = TRUE | Conserver toutes les colonnes |
Conclusion
La détection et la suppression des doublons constituent une étape incontournable avant toute analyse de données.
Avec R et le package dplyr, vous pouvez effectuer ce travail rapidement, efficacement et de manière reproductible. Un dataset propre, c’est la base d’une analyse fiable et de résultats pertinents.



