Gestion des Données Manquantes
Les données manquantes constituent un problème courant dans les ensembles de données réels. Elles peuvent affecter la précision de l'analyse et conduire à des résultats trompeurs si elles ne sont pas correctement traitées.
Détection des valeurs manquantes
La première étape consiste à vérifier où et dans quelle mesure les données sont manquantes dans votre ensemble de données.
is.na(df) # returns a logical matrix of TRUE/FALSE
sum(is.na(df)) # total number of missing values
colSums(is.na(df)) # missing values per column
Cela permet d’identifier clairement quelles colonnes contiennent des données manquantes et d’évaluer la gravité du problème.
Suppression des valeurs manquantes
Parfois, la manière la plus simple de traiter les données manquantes consiste à supprimer les lignes contenant des valeurs NA
. Cela garantit la propreté de l’ensemble de données, mais peut également entraîner une perte de données importante si de nombreuses lignes sont concernées.
Base R
La fonction na.omit()
supprime toutes les lignes contenant des valeurs manquantes du jeu de données.
df_clean <- na.omit(df)
sum(is.na(df_clean))
dplyr
La même opération peut être réalisée avec la fonction drop_na()
.
df_clean <- df %>%
drop_na()
Cette méthode est simple et efficace lorsque la quantité de données manquantes est faible, mais elle peut ne pas être idéale si de nombreuses lignes sont supprimées au cours du processus.
Remplacement des valeurs manquantes
Au lieu de supprimer des lignes, une approche plus efficace consiste à utiliser l’imputation, où les valeurs manquantes sont remplacées par des estimations pertinentes. Cela permet de préserver la taille du jeu de données tout en réduisant les biais. Une stratégie courante pour les variables numériques consiste à remplacer les valeurs manquantes par la moyenne de la colonne.
Base R
Utilisation de l’indexation logique avec is.na()
pour repérer les valeurs manquantes et leur attribuer la moyenne de la colonne.
df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)
dplyr
Imputation possible également à l’aide de ifelse()
dans mutate()
.
df <- df %>%
mutate(selling_price = ifelse(is.na(selling_price),
mean(selling_price, na.rm = TRUE),
selling_price))
Remplissage des valeurs manquantes dans les colonnes catégorielles
Pour les variables catégorielles (colonnes de type caractère ou facteur), les valeurs manquantes sont souvent remplacées par un indicateur fixe tel que "Unknown"
.
Base R
df$fuel[is.na(df$fuel)] <- "Unknown"
dplyr
La fonction replace_na()
offre une méthode plus claire pour remplir les valeurs manquantes.
df <- df %>%
mutate(fuel = replace_na(fuel, "Unknown"))
Cette approche garantit un traitement cohérent des valeurs manquantes et assure que la colonne reste valide pour l’analyse ou la modélisation.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain the difference between removing and imputing missing values?
How do I decide whether to drop or fill missing data in my dataset?
Can you show more examples of handling missing values in R?
Awesome!
Completion rate improved to 4
Gestion des Données Manquantes
Glissez pour afficher le menu
Les données manquantes constituent un problème courant dans les ensembles de données réels. Elles peuvent affecter la précision de l'analyse et conduire à des résultats trompeurs si elles ne sont pas correctement traitées.
Détection des valeurs manquantes
La première étape consiste à vérifier où et dans quelle mesure les données sont manquantes dans votre ensemble de données.
is.na(df) # returns a logical matrix of TRUE/FALSE
sum(is.na(df)) # total number of missing values
colSums(is.na(df)) # missing values per column
Cela permet d’identifier clairement quelles colonnes contiennent des données manquantes et d’évaluer la gravité du problème.
Suppression des valeurs manquantes
Parfois, la manière la plus simple de traiter les données manquantes consiste à supprimer les lignes contenant des valeurs NA
. Cela garantit la propreté de l’ensemble de données, mais peut également entraîner une perte de données importante si de nombreuses lignes sont concernées.
Base R
La fonction na.omit()
supprime toutes les lignes contenant des valeurs manquantes du jeu de données.
df_clean <- na.omit(df)
sum(is.na(df_clean))
dplyr
La même opération peut être réalisée avec la fonction drop_na()
.
df_clean <- df %>%
drop_na()
Cette méthode est simple et efficace lorsque la quantité de données manquantes est faible, mais elle peut ne pas être idéale si de nombreuses lignes sont supprimées au cours du processus.
Remplacement des valeurs manquantes
Au lieu de supprimer des lignes, une approche plus efficace consiste à utiliser l’imputation, où les valeurs manquantes sont remplacées par des estimations pertinentes. Cela permet de préserver la taille du jeu de données tout en réduisant les biais. Une stratégie courante pour les variables numériques consiste à remplacer les valeurs manquantes par la moyenne de la colonne.
Base R
Utilisation de l’indexation logique avec is.na()
pour repérer les valeurs manquantes et leur attribuer la moyenne de la colonne.
df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)
dplyr
Imputation possible également à l’aide de ifelse()
dans mutate()
.
df <- df %>%
mutate(selling_price = ifelse(is.na(selling_price),
mean(selling_price, na.rm = TRUE),
selling_price))
Remplissage des valeurs manquantes dans les colonnes catégorielles
Pour les variables catégorielles (colonnes de type caractère ou facteur), les valeurs manquantes sont souvent remplacées par un indicateur fixe tel que "Unknown"
.
Base R
df$fuel[is.na(df$fuel)] <- "Unknown"
dplyr
La fonction replace_na()
offre une méthode plus claire pour remplir les valeurs manquantes.
df <- df %>%
mutate(fuel = replace_na(fuel, "Unknown"))
Cette approche garantit un traitement cohérent des valeurs manquantes et assure que la colonne reste valide pour l’analyse ou la modélisation.
Merci pour vos commentaires !