IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Usa diff() per calcolare una semplice differenza trimestrale in gdp. Assicurati di specificare la colonna gdp e di impostare lag uguale a 1 periodo (in questo caso, 1 trimestre). Salva il risultato dentro l’oggetto gdp come quarterly_diff.
  • Ora che hai una misura della variazione trimestrale del PIL, il passo successivo è suddividere i dati in anni usando split(). Nella chiamata a split(), assicurati di specificare la colonna quarterly_diff di gdp e di impostare l’argomento f uguale a "years" (con le virgolette).
  • Usa lapply() sui dati appena suddivisi. Per calcolare una somma cumulata in ciascun anno, imposta l’argomento FUN uguale a cumsum (senza virgolette).
  • Usa do.call() per combinare con rbind i dati gdpchange_ytd di 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")
Modifica ed esegui il codice