top of page

DONNÉES MANQUANTES

Pour détecter la présence de données manquantes dans une ligne d'un tableau par exemple, on utilise la fonction complete.cases( ). 

Cela va renvoyer un vecteur avec autant de booléens qu'il y a de lignes dans votre tableau. S'il y a au moins une donnée manquante (NA) dans la ligne de votre tableau cela va afficher TRUE et s'il n'y en a pas cela va afficher FALSE.


complete.cases(Tableau)

Vous l'aurez compris si on fait la somme (sum) de complete.cases(Tableau) cela vous donnera le nombre de ligne où il y a au moins une donnée manquante. En effet, la modalité TRUE d'un booléens équivaut à la valeur 1 et FALSE à la valeur 0. Donc si on fait la somme de tous les booléens  , on aura le nombre de modalité TRUE.

sum(complete.cases(Tableau)) # Nombre de ligne de l'objet Tableau où il y a au moins une donnée manquante.


 

Il est parfois utile de calculer le pourcentage de lignes où aucune donnée n'est manquante (que des données complètes).

Pour cela, on utilise trois fonctions : sum() (somme), complete.cases (présence de données manquantes) et nrow (nombre de lignes).

On va faire la somme de l’inverse de complete.cases, on va donc calculer le nombre de lignes complètes.

Puis on divise le tout par le nombre de lignes (nrow). Et enfin on multiplie par 100 pour avoir le résultat en pourcentage.


Pourcentage_Lignes_Completes=100*sum(!complete.cases(Tableau))/nrow(Tableau) # Le point d’exclamation sert à faire l’inverse de la fonction complete.cases.


 

is.na fait un peu la même chose que complete.cases( ), sauf que cela détectera la présence de données manquantes par donnée et non pas par ligne.

Cela va renvoyer un vecteur avec autant de booléens qu'il y a de données dans votre objet. Si la donnée est manquante (NA) cela va afficher TRUE et si elle ne l'est pas cela va afficher FALSE.

 

is.na(Tableau)

Il est parfois utile de remplacer les données manquantes d'un objet par une autre valeur. Voici le code qui permet cela :

Tableau[is.na(Tableau)] = 0 # On remplace les données manquantes de l'objet Tableau par des 0.

Tableau[is.na(Tableau)] = "NUL" # On remplace les données manquantes de l'objet Tableau par des NUL.


Enfin, on peut faire en sorte qu'une valeur d'une variable soit considérée comme une donnée manquante. Cela se fait avec le code suivant :

Variable[Variable %in% c("AncienneValeur")]=NouvelleValeur 

Tableau$variable1[Tableau$variable1 %in% c("NaN")]=NA # Les valeurs NaN de la variable1 de l'objet Tableau seront remplacées par NA (donnée manquante). 

Vecteur[Vecteur %in% c("F")]=Femme # Les valeurs F du vecteur seront remplacées par Femme. 

Cela permet de recoder juste certaines données d'un objet.

bottom of page