CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Utilisez diff() pour produire une simple différence trimestrielle dans gdp. Assurez-vous de préciser la colonne gdp et de fixer lag à 1 période (ici, 1 trimestre). Enregistrez le résultat dans votre objet gdp sous le nom quarterly_diff.
  • Maintenant que vous avez une mesure du changement trimestriel du PIB, divisez vos données quarterly_diff par années avec split(). Dans l'appel à split(), précisez la colonne quarterly_diff de gdp et fixez l'argument f à "years" (entre guillemets).
  • Appliquez lapply() à vos données nouvellement divisées. Pour calculer une somme cumulative pour chaque année, fixez l'argument FUN à cumsum (sans guillemets).
  • Utilisez do.call() pour rbind vos données gdpchange_ytd et 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")
Modifier et exécuter le code