Mise en place d’une chaîne de production

library("rjd3production")

Le package {rjd3production} est utile pour mettre en place une chaîne de production de séries désaisonnalisées.

Avant de créer notre chaîne de production, il faut créer notre environnement de travail, notre projet. La fonction init_env() créer une structure :

path_project <- tempfile(pattern = "my_sa_project")
init_env(path = path_project)

Dans cette vignette, nous allons créer une chaîne de production à partir du jeu de données ABS du package {rjd3toolkit}. Le jeu de données se trouve aussi sous la forme du fichier ABS.csv sous /usr/local/lib/R/site-library/rjd3providers/extdata/ABS.csv dans le package {rjd3providers}.

library("rjd3toolkit")
path_ABS <- system.file("extdata", "ABS.csv", package = "rjd3providers")
my_data <- ABS[, seq_len(3L)]
colnames(my_data) <- substr(colnames(my_data), start = 2L, stop = 11L)

Sélection des régresseurs de calendrier

Dans le cas où nos séries sont sensibles aux effets de calendrier, on peut corriger ses effets avec des régresseurs de calendrier.

Pour cela, consulter la vignette td-selection au sujet de la manière de traiter ces effets et comment produire la table td contenant nos régresseurs de calendrier personnalisés selectionnés.

td <- select_td(my_data)
#> 
#> Série 0.2.09.10. en cours... 1/3 
#> Computing spec No_TD ...Done !
#> Computing spec REG1 ...Done !
#> Computing spec REG2 ...Done !
#> Computing spec REG3 ...Done !
#> Computing spec REG5 ...Done !
#> Computing spec REG6 ...Done !
#> Computing spec LY ...Done !
#> Computing spec REG1_LY ...Done !
#> Computing spec REG2_LY ...Done !
#> Computing spec REG3_LY ...Done !
#> Computing spec REG5_LY ...Done !
#> Computing spec REG6_LY ...Done !
#> 
#> Série 0.2.08.10. en cours... 2/3 
#> Computing spec No_TD ...Done !
#> Computing spec REG1 ...Done !
#> Computing spec REG2 ...Done !
#> Computing spec REG3 ...Done !
#> Computing spec REG5 ...Done !
#> Computing spec REG6 ...Done !
#> Computing spec LY ...Done !
#> Computing spec REG1_LY ...Done !
#> Computing spec REG2_LY ...Done !
#> Computing spec REG3_LY ...Done !
#> Computing spec REG5_LY ...Done !
#> Computing spec REG6_LY ...Done !
#> 
#> Série 0.2.07.10. en cours... 3/3 
#> Computing spec No_TD ...Done !
#> Computing spec REG1 ...Done !
#> Computing spec REG2 ...Done !
#> Computing spec REG3 ...Done !
#> Computing spec REG5 ...Done !
#> Computing spec REG6 ...Done !
#> Computing spec LY ...Done !
#> Computing spec REG1_LY ...Done !
#> Computing spec REG2_LY ...Done !
#> Computing spec REG3_LY ...Done !
#> Computing spec REG5_LY ...Done !
#> Computing spec REG6_LY ...Done !

Création d’un workspace

Nous utiliserons le package {rjd3workspace} pour les fonctions de création et manipulation des workspaces.

library("rjd3workspace")

Pour créer un nouveau worspace, vous avez le choix entre le créer à la main depuis 0 ou à partir d’un jeu de données. Si vous utilisez des variables externes, des régresseurs de calendrier ou un calendrier personnalisé, il ne faut pas oublier de mettre tout cela dans un modelling context.

A l’Insee, nous utilisons la fonction create_insee_context() pour nous créer nos context:

my_context <- create_insee_context(s = my_data[, 1L])

Nous utiliserons le package {rjd3x13} pour créer les specs X13.

library("rjd3x13")
jws <- jws_new(modelling_context = my_context)
jsap <- jws_sap_new(jws, "Nouveau SAP")
add_sa_item(jsap = jsap, name = "Première série", x = my_data[, 1L], spec = x13_spec())
add_sa_item(jsap = jsap, name = "Seconde série", x = my_data[, 2L], spec = x13_spec())
#... avec autant de commande que de séries
jws <- create_ws_from_data(my_data)
set_context(jws, create_insee_context(start = c(2015L, 1L)))

Si nous en avons, il faut assigner les régresseurs de calendrier à chaque série :

jws_compute(jws)
assign_td(td = td, jws = jws)
#> Série 0.2.09.10., 1/3
#> Série 0.2.08.10., 2/3
#> Série 0.2.07.10., 3/3

Il ne faut pas oublier de mettre à jour les metadonnées de notre workspace avec le chemin vers nos données brutes :

add_raw_data_path(jws, path_ABS, delimiter = "COMMA")
#> Warning: There are no columns called 0.2.09.10. in ABS.csv
#> Warning: There are no columns called 0.2.08.10. in ABS.csv
#> Warning: There are no columns called 0.2.07.10. in ABS.csv

Enfin, nous pouvons sauvegarder notre workspace !

path_ws <- file.path(path_project, "Workspaces", "workspace_travail", "my_ws.xml")
save_workspace(jws, path_ws, replace = TRUE)