Ajouter une somme roulante discrète aux données du PIB
Savoir le changement d'une période à l'autre est utile, mais vous pourriez vouloir connaître le changement total depuis le début de l'année. Pour créer cet indicateur, vous pouvez utiliser le modèle split-lapply-rbind. Ce processus ressemble à celui utilisé pour calculer les moyennes mensuelles de température au chapitre précédent.
Dans cet exercice, vous revenez aux données gdp utilisées plus tôt dans le chapitre. En plus des valeurs statiques du PIB à chaque trimestre, vous souhaitez générer une mesure du changement du PIB d'un trimestre à l'autre (avec diff()) ainsi qu'une somme roulante du changement cumulatif depuis le début de l'année (avec split(), lapply() et rbind()).
Cette activité fait partie du cours
Étude de cas : analyser des séries chronologiques urbaines en R
Instructions de l’exercice
- Utilisez
diff()pour produire une simple différence trimestrielle dansgdp. Assurez-vous de préciser la colonnegdpet de fixerlagà1période (ici, 1 trimestre). Enregistrez le résultat dans votre objetgdpsous le nomquarterly_diff. - Maintenant que vous avez une mesure du changement trimestriel du PIB, divisez vos données
quarterly_diffpar années avecsplit(). Dans l'appel àsplit(), précisez la colonnequarterly_diffdegdpet fixez l'argumentfà"years"(entre guillemets). - Appliquez
lapply()à vos données nouvellement divisées. Pour calculer une somme cumulative pour chaque année, fixez l'argumentFUNàcumsum(sans guillemets). - Utilisez
do.call()pour rbind vos donnéesgdpchange_ytdet les retransformer en objet xts. - Enfin, utilisez
plot.xts()pour examiner le changement cumulatif du PIB depuis le début de l'année (gdpchange_xts).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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")