• 12 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 15/12/2020

Localisez les données manquantes

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Les données manquantes sont représentées sous R par  NA  (Not Available). Pour les retrouver, il suffit d’utiliser la fonction  is.na  qui renvoie TRUE si la valeur vaut  NA  et FALSE sinon. Mais nous allons voir à présent comment exploiter au mieux les différents outils à notre disposition pour gérer les valeurs manquantes au sein d’un dataframe.

Identifier les NA au sein d’un dataframe

Lisons le fichier ozoneNA.rds qui contient des  NA  et affichons son sommaire :

Summary du fichier ozoneNA
Summary du fichier ozoneNA

Le décompte des individus manquants est spécifié variable par variable.
Plaçons-nous dans le cas où le statisticien devrait savoir repérer les individus possédant une valeur manquante. Sa première tâche est de connaître l’identifiant, ou le numéro de ces individus. Pour cela, il suffit d’utiliser la fonction  is.na.

Afin de faciliter la lecture, travaillons sur des données restreintes :

ozR <- ozoneNA[1:4,1:7]
ozR
# maxO3 T9 T12 T15 Ne9 Ne12 Ne15
# 601 87 15.6 18.5 18.4 4 4 8
# 602 82 17.0 18.4 17.7 5 5 7
# 603 NA NA NA 19.5 2 5 4
# 604 NA 16.2 NA 22.5 1 NA 0
is.na(ozR)
# maxO3 T9 T12 T15 Ne9 Ne12 Ne15
# 601 FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# 602 FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# 603 TRUE TRUE TRUE FALSE FALSE FALSE FALSE
# 604 TRUE FALSE TRUE FALSE FALSE TRUE FALSE

À la question  is.na, R retourne un booléen. Ils prennent donc la valeur  NA  dans le vecteur variable. Si nous souhaitons éliminer les individus qui possèdent au moins une valeur manquante, il faut d’abord repérer les valeurs manquantes. Nous souhaitons donc connaître les couples ligne/colonne des individus présentant une valeur manquante. Nous pouvons utiliser l’option  arr.ind  (pour « array indices ») de la fonction which  :

which(is.na(ozR),arr.ind=TRUE)
# row col
# 603 3 1
# 604 4 1
# 603 3 2
# 603 3 3
# 604 4 3
# 604 4 6

La première donnée manquante correspond à la ligne 3 et la colonne 1, puis la suivante à la ligne 4 et la colonne 1...

Pour enlever les individus qui admettent au moins un  NA  , il faut donc récupérer les indices des lignes qui se trouvent dans la colonne 1 du résultat :

indligneNA <- which(is.na(ozR),arr.ind=TRUE)[,1]
indligneNA
# 603 604 603 603 604 604
# 3 4 3 3 4 4
ozRsansNa <- ozR[-indligneNA,]

En résumé

Vous avez vu dans ce chapitre comment, à partir des fonctions   is.na  et  which  , identifier les NA qui viendraient à se trouver dans un de vos dataframes pour pouvoir les retirer de votre étude.

A présent, vous êtes presque près à mener vos propres analyses statistiques ! Encore un petit effort dans la présentation de quelques fonctions clés qui vous seront indispensables lors de vos futurs analyses.

Exemple de certificat de réussite
Exemple de certificat de réussite