Visualisation des données manquantes

recherche des données manquantes

Dans cet article, je vais vous présenter quelques fonctions particulièrement intéressantes pour visualiser et explorer les données manquantes présentes dans un data frame, en termes de quantité (nombre ou pourcentage), de localisation, ou encore de distribution parmi les variables.

1. Les data

Pour illustrer cet article, je vais utiliser le jeu de données airquality contenu dans le package dataset (chargé par défaut à chaque session de R). Ce data frame s’intéresse à la qualité de l’air à New York en 1973, il contient 153 observations (lignes), et 6 variables (colonnes) :

 

2. Explorer le nombre de données manquantes

2.1 La fonction summary()

La première fonction que nous pouvons employer est la fonction summary(), qui renvoie, pour chaque variable, le nombre de données manquantes (NA dans R).

 

Nous pouvons voir que le jeu de données aiquality comporte :

  • 37 NA au niveau de la variable Ozone
  • 7 NA au niveau de la variable Solar.R

 

2.2 La fonction df_status()

Une autre fonction, également très utile, pour connaître le nombre de données manquantes et le pourcentage correspondant, pour chaque variable, est la fonction df_status(), du package funModeling:

 

Nous pouvons voir que les 37 données manquantes au niveau de la variable Ozone correspondent à 24.18% des valeurs de cette variable Ozone. De même, les 7 NA  de la variable Solar.R correspondent à 4.58%.

2.3 La fonction gg_miss_var()

La fonction gg_miss_var() du package permet d’obtenir un graphique synthétique avec le nombre de données manquantes (ou le pourcentage) pour chaque variable :

 

visualisation du nombre de NA

 

Pour obtenir les pourcentages correspondants, il suffit d’employer l’argument show_pct = TRUE:

visualisation du pourcentage de NA

 

3. Visualiser la position des données manquantes

 

3.1 La fonction vis_dat()

Pour cela, nous pouvons employer les fonctions vis_dat() du package visdat:

 

visualisation de la position des NA

Pour obtenir les positions précises nous pouvons employer les fonction which() et is.na(), comme ceci :

 

Ces positions sont cohérentes avec celles représentées sur le plot, précédemment.

 

3.2 La fonction vis_miss()

Un autre plot, peut également être réalisé avec la fonction vis_miss(), qui permet de connaître à la fois la position des données manquantes et le pourcentage qu’elles représentent :

 

visualisation de la position et de la fréquence des NA

 

 

 

 

4. Explorer les relations entre les NA

4.1 La fonction gg_miss_upset()

Le package naniar dispose d’une fonction particulièrement intéressante pour étudier les relations entre les NA des différentes variables : la fonction gg_miss_upset().

Cette fonction permet de réaliser un graphique qui illustre le nombre de NA partagées par plusieurs variables.

visualisation des relations entre NA

Par exemple, ici, nous pouvons voir que parmi les 37 observations qui ne disposent pas de données pour la variable Ozone, autrement dit qui sont de données manquantes, deux le sont aussi pour la variable Solar.R.

4.2 La couche geom_miss_point()

Les NA peuvent également être visualiser avec la couche geom_miss_point() du package ggplot2.

visualisation des données manquantes avec ggplot2

A gauche, en rouge, nous pouvons voir la représentation des 7 NA  de la variable Solar.R. Et en bas, également, en rouge, la représentation des 37 données manquantes de la variable Ozone. Les deux données dans l’angle inférieur gauche sont les deux NA, conjointement présentes dans les variables Solar.Ret Ozone.

Pour aller plus loin

Vous trouverez plus d’informations sur les packages visdat et naniar ici, et là.

Et vous, quelles fonctions employez vous pour explorer les NA de vos jeux de données?  Partagez les en commentaire ?

Si cet article vous a plu, ou vous a été utile, et si vous le souhaitez, vous pouvez soutenir ce blog en faisant un don sur sa page Tipeee 🙏

👉 Cliquez ici pour soutenir le blog Statistiques et Logiciel R

 

Image par GraphicMama-team de Pixabay

 

Poursuivez votre lecture

Partager l'article
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

7 commentaires

  1. Saga Répondre

    Bonjour
    Merci pour ce blog très bien fait et bien utile. Après ce papier sur la visualisation des données manquantes, pourriez-vous nous expliquer les différentes possibilités de remplacer les valeurs manquantes, en particulier dans le cas des variables qualitatives ?
    Merci à vous, et avec mon soutien

  2. Adrien Fapeingou TOUNKARA Répondre

    Vous nous donnez d’excellents cours à travers ce grand logiciel R, et mieux, vous nous encouragez à en faire notre quotidien.

  3. Melchisedek Ngoua Répondre

    Bonjour. Merci pour l’article! J’avais justement un problème de données manquantes!
    Est-ce que l’image de l’article (le Monsieur à la loupe) est libre d’utilisation, s’il-vous-plaît?

  4. Dany OTRON Répondre

    Merci Claire, Très bon article que l’on doit voir avant de faire les stats descriptives et autres analyses

Laisser un commentaire

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