CommencerCommencez gratuitement

Valeurs manquantes

Il arrive que des séries temporelles contiennent des valeurs manquantes, notées NA en R, et il est utile d’en connaître l’emplacement. Il est également important de savoir comment les différentes fonctions R gèrent ces valeurs manquantes. Parfois, vous souhaiterez les ignorer, mais d’autres fois, vous préférerez les imputer ou les estimer.

Reprenons la série mensuelle AirPassengers, mais cette fois, les données de l’année 1956 sont manquantes. Dans cet exercice, vous allez explorer les conséquences de ces données manquantes et imputer de nouvelles valeurs pour résoudre le problème.

La fonction mean() calcule la moyenne empirique, mais elle échoue en présence de NA. Utilisez mean(___, na.rm = TRUE) pour calculer la moyenne en retirant toutes les valeurs manquantes. Remplacer les valeurs manquantes par la moyenne des valeurs observées est une pratique courante. Cette méthode simple d’imputation vous semble-t-elle adaptée lorsqu’on l’applique au jeu de données AirPassengers ?

Cet exercice fait partie du cours

<cours>Analyse de séries temporelles en R</cours>
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 préécrit pour imputer la moyenne aux données manquantes.
  • Utilisez un nouvel appel à plot() pour tracer à nouveau vos données AirPassengers imputées.
  • Exécutez le code préécrit pour ajouter les données complètes d’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