Aggiungi una somma mobile discreta ai dati del PIL
Sapere di quanto cambia un valore da un periodo al successivo è utile, ma potresti voler conoscere il cambiamento totale dall’inizio dell’anno. Per generare questo tipo di indicatore, puoi usare il pattern split-lapply-rbind. Questo processo è simile a quello usato per calcolare le medie mensili della temperatura nel capitolo precedente.
In questo esercizio, tornerai ai dati gdp usati all’inizio del capitolo. Oltre ai valori statici del PIL in ciascun trimestre, vuoi generare una misura della variazione del PIL da un trimestre al successivo (usando diff()) e anche una somma mobile del cambiamento del PIL dall’inizio dell’anno (usando split(), lapply() e rbind()).
Questo esercizio fa parte del corso
Caso di studio: analisi di serie temporali cittadine in R
Istruzioni dell'esercizio
- Usa
diff()per calcolare una semplice differenza trimestrale ingdp. Assicurati di specificare la colonnagdpe di impostarelaguguale a1periodo (in questo caso, 1 trimestre). Salva il risultato dentro l’oggettogdpcomequarterly_diff. - Ora che hai una misura della variazione trimestrale del PIL, il passo successivo è suddividere i dati in anni usando
split(). Nella chiamata asplit(), assicurati di specificare la colonnaquarterly_diffdigdpe di impostare l’argomentofuguale a"years"(con le virgolette). - Usa
lapply()sui dati appena suddivisi. Per calcolare una somma cumulata in ciascun anno, imposta l’argomentoFUNuguale acumsum(senza virgolette). - Usa
do.call()per combinare con rbind i datigdpchange_ytddi nuovo in un oggetto xts. - Infine, usa
plot.xts()per esaminare la variazione del PIL dall’inizio dell’anno (gdpchange_xts).
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Add a quarterly difference in gdp
gdp$quarterly_diff <- diff(___$___, lag = ___, differences = ___)
# Split gdp$quarterly_diff into years
gdpchange_years <- split(___$___, f = "___")
# Use lapply to calculate the cumsum each year
gdpchange_ytd <- lapply(___, FUN = ___)
# Use do.call to rbind the results
gdpchange_xts <- do.call(rbind, ___)
# Plot cumulative year-to-date change in GDP
plot.xts(___, type = "h")