Sostituisci i dati mancanti - I
Come hai visto nell’esercizio precedente, i tuoi dati trimestrali del PIL sembrano avere diverse osservazioni mancanti. Infatti, la chiamata a summary() nel precedente esercizio ha rivelato 80 punti dati mancanti!
Come forse ricordi dal primo corso su xts, xts e zoo offrono varie funzioni per gestire i dati mancanti.
La tecnica più semplice è il comando na.locf(), che porta avanti l’ultima osservazione prima del valore mancante (da cui "last observation carried forward", o locf). Questo approccio è spesso il più adatto per gestire i dati mancanti, soprattutto quando vuoi essere prudente sulle crescite nei tuoi dati.
Un approccio analogo funziona nella direzione opposta, prendendo la prima osservazione dopo il valore mancante e riportandola indietro ("next observation carried backward", o nocb). Questa tecnica può essere eseguita anche con na.locf() impostando l’argomento fromLast a TRUE.
Il metodo migliore dipende dal tipo di dati con cui lavori e dalle tue ipotesi su come i dati cambiano nel tempo.
Questo esercizio fa parte del corso
Caso di studio: analisi di serie temporali cittadine in R
Istruzioni dell'esercizio
- Usa
na.locf()per riempire i valori mancanti ingdp_xtsbasandoti sull’ultima osservazione disponibile (last observation carried forward). Salva questo nuovo oggetto xts comegdp_locf. - Fai un’altra chiamata a
na.locf()per riempire i valori mancanti ingdp_xtsbasandoti sulla prossima osservazione riportata all’indietro. Per farlo, imposta l’argomentofromLastaTRUE. Salva questo nuovo oggetto xts comegdp_nocb. - Traccia ciascuno di questi oggetti con
plot.xts(). Includi il comandopar()già scritto per visualizzare entrambi i grafici insieme. - Interroga ciascun oggetto (
gdp_locfegdp_nocb) per il PIL nel 1993.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Fill NAs in gdp_xts with the last observation carried forward
gdp_locf <-
# Fill NAs in gdp_xts with the next observation carried backward
gdp_nocb <-
# Produce a plot for each of your new xts objects
par(mfrow = c(2,1))
plot.xts(___, major.format = "%Y")
plot.xts(___, major.format = "%Y")
# Query for GDP in 1993 in both gdp_locf and gdp_nocb