CommencerCommencer gratuitement

Initialiser les valeurs manquantes et itérer sur les variables

Comme vous venez de le voir, exécuter impute_lm() peut ne pas renseigner toutes les valeurs manquantes. Pour vous assurer de toutes les imputer, vous devez initialiser ces valeurs avec une méthode simple, comme l’imputation hot-deck que vous avez apprise au chapitre précédent, qui propage 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 façon rudimentaire et peut être biaisée. Une bonne approche consiste à itérer sur les variables, en les imputant une par une aux endroits où elles étaient initialement manquantes.

Dans cet exercice, vous allez d’abord initialiser les valeurs manquantes avec une imputation hot-deck, puis boucler cinq fois sur air_temp et humidity du jeu de données tao pour les imputer par régression linéaire. Allons-y !

Cet exercice fait partie du cours

Gérer les données manquantes avec des imputations en R

Afficher le cours

Instructions

  • Initialisez les valeurs manquantes avec l’imputation hotdeck().
  • Créez un masque booléen indiquant où humidity était initialement manquante et assignez-le à missing_humidity.
  • À l’intérieur de la boucle for, mettez humidity de tao_imp à NA aux endroits où elle était initialement manquante, 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éaffectez le résultat à tao_imp.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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