CommencezCommencez gratuitement

Valeurs manquantes

Il arrive que des valeurs soient manquantes dans des séries chronologiques, indiquées par NA en R, et il est utile d'en connaître l'emplacement. Il est aussi important de savoir comment les différentes fonctions R traitent ces valeurs manquantes. Parfois, on peut choisir de les ignorer, mais d'autres fois, on préférera les imputer ou les estimer.

Reprenons l'ensemble de données mensuelles AirPassengers, mais, cette fois, les données de l'année 1956 sont manquantes. Dans cet exercice, vous examinerez les conséquences de ces données manquantes et imputerez de nouvelles valeurs pour régler le problème.

La fonction mean() calcule la moyenne empirique, mais elle échoue en présence de n'importe quelle valeur NA. Utilisez mean(___, na.rm = TRUE) pour calculer la moyenne en retirant toutes les valeurs manquantes. Il est courant de remplacer les valeurs manquantes par la moyenne des valeurs observées. Cette méthode simple d'imputation semble-t-elle adéquate lorsqu'on l'applique au jeu de données AirPassengers?

Cette activité fait partie du cours

Analyse des séries chronologiques en R

Voir le cours

Instructions de l’exercice

  • Utilisez plot() pour afficher un graphique simple de AirPassengers. Remarquez les données manquantes pour 1956.
  • Utilisez mean() pour calculer la moyenne empirique de AirPassengers en retirant les données manquantes (na.rm = TRUE).
  • Exécutez le code déjà fourni pour imputer la moyenne dans vos données manquantes.
  • Faites un autre appel à plot() pour regraphiquer vos données AirPassengers nouvellement imputées.
  • Exécutez le code déjà fourni pour ajouter les données complètes de AirPassengers à votre graphique.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Plot the AirPassengers data
plot(___)

# Compute the mean of AirPassengers


# Impute mean values to NA in AirPassengers
AirPassengers[85:96] <- mean(AirPassengers, na.rm = ___)

# Generate another plot of AirPassengers


# Add the complete AirPassengers data to your plot
rm(AirPassengers)
points(AirPassengers, type = "l", col = 2, lty = 3)
Modifier et exécuter le code