IniziaInizia gratis

Inizializzare i valori mancanti e iterare sulle variabili

Come hai appena visto, eseguire impute_lm() potrebbe non riempire tutti i valori mancanti. Per assicurarti di imputarli tutti, dovresti inizializzare i valori mancanti con un metodo semplice, come l'hot-deck imputation che hai visto nel capitolo precedente, che propaga in avanti l'ultimo valore osservato.

Inoltre, una singola imputazione di solito non è sufficiente. Si basa sui valori inizializzati in modo basilare e può essere distorta. Un approccio corretto è iterare sulle variabili, imputandole una per volta nelle posizioni in cui erano originariamente mancanti.

In questo esercizio, inizializzerai prima i valori mancanti con l'hot-deck imputation e poi eseguirai cinque iterazioni su air_temp e humidity dei dati tao per imputarli con una regressione lineare. Mettiamoci al lavoro!

Questo esercizio fa parte del corso

Gestione dei dati mancanti con imputazioni in R

Visualizza il corso

Istruzioni dell'esercizio

  • Inizializza i valori mancanti con l'imputazione hotdeck().
  • Crea una maschera booleana per i punti in cui humidity era originariamente mancante e assegnala a missing_humidity.
  • All'interno del ciclo for, imposta humidity in tao_imp a NA nei punti in cui era originariamente mancante usando la maschera booleana che hai creato.
  • All'interno del ciclo for, imputa humidity in tao_imp con una regressione lineare, usando year, latitude, sea_surface_temp e air_temp come predittori e riassegna il risultato a tao_imp.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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 + ___)
}
Modifica ed esegui il codice