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 de mesurer l'ampleur 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 importante de données 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 tâche peut être réalisée à l'aide de la fonction drop_na().
df_clean <- df %>%
drop_na()
Cette méthode est simple et fonctionne bien 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 est l'imputation, où les valeurs manquantes sont remplacées par des estimations pertinentes. Cela permet de conserver la taille du jeu de données tout en réduisant le biais. Une stratégie courante pour les variables numériques consiste à remplacer les valeurs manquantes par la moyenne de la colonne.
Base R
Vous pouvez utiliser 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
Vous pouvez également gérer l'imputation en utilisant ifelse() à l'intérieur de 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 simple pour remplir les valeurs manquantes.
df <- df %>%
mutate(fuel = replace_na(fuel, "Unknown"))
Cette approche garantit que les valeurs manquantes sont traitées de manière cohérente et que la colonne reste valide pour les rapports 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