CommencerCommencer gratuitement

Ajouter une somme mobile discrète aux données de PIB

S’il est utile de connaître la variation d’une période à l’autre, vous pouvez aussi vouloir connaître la variation totale depuis le début de l’année. Pour calculer cet indicateur, vous pouvez utiliser le schéma split-lapply-rbind. Ce processus est proche de celui utilisé pour calculer les moyennes mensuelles de température dans le chapitre précédent.

Dans cet exercice, vous allez reprendre les données gdp utilisées plus tôt dans le chapitre. En plus des valeurs statiques de PIB à chaque trimestre, vous souhaitez calculer une mesure de variation du PIB d’un trimestre au suivant (avec diff()) ainsi qu’une somme mobile du cumul depuis le début de l’année (avec split(), lapply() et rbind()).

Cet exercice fait partie du cours

Étude de cas : analyser des séries temporelles urbaines en R

Afficher le cours

Instructions

  • Utilisez diff() pour produire une différence trimestrielle simple dans gdp. Veillez à préciser la colonne gdp et à définir lag à 1 période (ici, 1 trimestre). Enregistrez cela dans votre objet gdp sous le nom quarterly_diff.
  • Maintenant que vous avez une mesure de la variation trimestrielle du PIB, scindez vos données quarterly_diff par année avec split(). Dans votre appel à split(), veillez à préciser la colonne quarterly_diff de gdp et à fixer l’argument f à "years" (avec des guillemets).
  • Utilisez lapply() sur vos données nouvellement scindées. Pour calculer une somme cumulative dans chaque année, définissez l’argument FUN sur 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 la variation cumulée depuis le début de l’année du PIB (gdpchange_xts).

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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