CommencezCommencez gratuitement

Initialiser les valeurs manquantes et itérer sur les variables

Comme vous venez de le voir, exécuter impute_lm() ne remplit pas toujours toutes les valeurs manquantes. Pour être certain de toutes les imputer, vous devriez initialiser ces valeurs avec une méthode simple, comme l'imputation par hot-deck que vous avez vue au chapitre précédent, qui reprend simplement la dernière valeur observée.

De plus, une seule imputation est généralement insuffisante. Elle repose sur des valeurs initialisées de base et peut être biaisée. Une approche adéquate consiste à itérer sur les variables et à les imputer une à une aux endroits où elles étaient manquantes à l'origine.

Dans cet exercice, vous allez d'abord initialiser les valeurs manquantes avec une imputation hot-deck, puis effectuer cinq passages sur air_temp et humidity des données tao pour les imputer par régression linéaire. Allons-y !

Cette activité fait partie du cours

Traitement des données manquantes par imputation dans R

Voir le cours

Instructions de l’exercice

  • Initialisez les valeurs manquantes avec l'imputation hotdeck().
  • Créez un masque booléen indiquant où humidity était manquante à l'origine et assignez-le à missing_humidity.
  • À l'intérieur de la boucle for, remettez humidity dans tao_imp à NA aux endroits où elle était manquante à l'origine en utilisant le masque booléen que vous avez créé.
  • À l'intérieur de la boucle for, imputez humidity dans tao_imp par régression linéaire, en utilisant year, latitude, sea_surface_temp et air_temp comme prédicteurs, puis réassignez le résultat à tao_imp.

Exercice interactif pratique

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

# Initialize missing values with hot-deck
tao_imp <- ___(tao)

# Create boolean masks for where air_temp and humidity are missing
missing_air_temp <- tao_imp$air_temp_imp
missing_humidity <- ___

for (i in 1:5) {
  # Set air_temp to NA in places where it was originally missing and re-impute it
  tao_imp$air_temp[missing_air_temp] <- NA
  tao_imp <- impute_lm(tao_imp, air_temp ~ year + latitude + sea_surface_temp + humidity)
  # Set humidity to NA in places where it was originally missing and re-impute it
  tao_imp$humidity[___] <- ___
  tao_imp <- ___(___, ___ ~ year + latitude + sea_surface_temp + ___)
}
Modifier et exécuter le code