Convertir un data frame de séries chronologiques multivariées (voir ts_to_tsDF()
) pour les fonctions d'étalonnage
(benchmarking()
et stock_benchmarking()
) en un data frame empilé (long) avec quatre variables (colonnes) :
une (1) pour le nom de la série
deux (2) pour l'identification du point de données (année et période)
une (1) pour la valeur du point de données
Les valeurs de série manquantes (NA
) ne sont pas incluses par défaut dans le data frame empilé renvoyé par
la fonction. Spécifiez l'argument keep_NA = TRUE
pour les conserver.
Cette fonction est utile lorsque l'on souhaite utiliser l'argument by
(mode de traitement groupes-BY) des
fonctions d'étalonnage afin d'étalonner plusieurs séries en un seul appel de fonction.
Utilisation
stack_tsDF(
ts_df,
ser_cName = "series",
yr_cName = "year",
per_cName = "period",
val_cName = "value",
keep_NA = FALSE
)
Arguments
- ts_df
(obligatoire)
Data frame (object de classe « data.frame ») qui contient les données de séries chronologiques multivariées à empiler.
- ser_cName
(optionnel)
Chaîne de caractères spécifiant le nom de la variable (colonne) du data frame empilé de sortie qui contiendra les nom des séries (nom des variables des séries dans le data frame de séries chronologiques multivariées d'entrée). Cette variable peut ensuite être utilisée comme variable de groupes-BY (argument
by
) avec les fonctions d'étalonnage.La valeur par défaut est
ser_cName = "series"
.- yr_cName, per_cName
(optionnel)
Chaînes de caractères spécifiant le nom des variables (colonnes) numériques du data frame de séries chronologiques multivariées d'entrée qui identifient l'année et la période (cycle) des points de données. Ces variables sont transférées dans le data frame empilé de sortie avec les mêmes noms de variable.
Les valeurs par défaut sont
yr_cName = "year"
etper_cName = "period"
.- val_cName
(optionnel)
Chaîne de caractères spécifiant le nom de la variable (colonne) du data frame empilé de sortie qui contiendra la valeur des points de données.
La valeur par défaut est
val_cName = "value"
.- keep_NA
(optionnel)
Argument logique (logical) spécifiant si les valeurs de série manquantes (
NA
) du data frame de séries chronologiques multivariées d'entrée doivent être conservées dans le data frame empilé de sortie.La valeur par défaut est
keep_NA = FALSE
.
Valeur de retour
La fonction renvoie un data frame avec quatre variables :
Nom de la série, type caractère (voir l'argument
ser_cName
)Année du point de données, type numérique (voir argument
yr_cName
)Période du point de données, type numérique (voir argument
per_cName
)Valeur du point de données, type numérique (voir argument
val_cName
)
Note : la fonction renvoie un objet « data.frame » qui peut être explicitement converti en un autre
type d'objet avec la fonction as*()
appropriée (ex., tibble::as_tibble()
le convertirait en tibble).
Exemples
# Créer un « data frame » de 2 séries indicatrices trimestrielles
# (avec des valeurs manquantes pour les 2 dernières trimestres)
mes_indicateurs <- ts_to_tsDF(ts(data.frame(ser1 = c(1:5 * 10, NA, NA),
ser2 = c(1:5 * 100, NA, NA)),
start = c(2019, 1), frequency = 4))
mes_indicateurs
#> year period ser1 ser2
#> 1 2019 1 10 100
#> 2 2019 2 20 200
#> 3 2019 3 30 300
#> 4 2019 4 40 400
#> 5 2020 1 50 500
#> 6 2020 2 NA NA
#> 7 2020 3 NA NA
# Empiler les séries indicatrices ...
# en rejetant les `NA` dans les données empilées (comportement par défaut)
stack_tsDF(mes_indicateurs)
#> series year period value
#> 1 ser1 2019 1 10
#> 2 ser1 2019 2 20
#> 3 ser1 2019 3 30
#> 4 ser1 2019 4 40
#> 5 ser1 2020 1 50
#> 6 ser2 2019 1 100
#> 7 ser2 2019 2 200
#> 8 ser2 2019 3 300
#> 9 ser2 2019 4 400
#> 10 ser2 2020 1 500
# en conserver les `NA` dans les données empilées
stack_tsDF(mes_indicateurs, keep_NA = TRUE)
#> series year period value
#> 1 ser1 2019 1 10
#> 2 ser1 2019 2 20
#> 3 ser1 2019 3 30
#> 4 ser1 2019 4 40
#> 5 ser1 2020 1 50
#> 6 ser1 2020 2 NA
#> 7 ser1 2020 3 NA
#> 8 ser2 2019 1 100
#> 9 ser2 2019 2 200
#> 10 ser2 2019 3 300
#> 11 ser2 2019 4 400
#> 12 ser2 2020 1 500
#> 13 ser2 2020 2 NA
#> 14 ser2 2020 3 NA
# en utilisant des noms de variables (colonnes) personnalisés
stack_tsDF(mes_indicateurs, ser_cName = "nom_ind", val_cName = "val_ind")
#> nom_ind year period val_ind
#> 1 ser1 2019 1 10
#> 2 ser1 2019 2 20
#> 3 ser1 2019 3 30
#> 4 ser1 2019 4 40
#> 5 ser1 2020 1 50
#> 6 ser2 2019 1 100
#> 7 ser2 2019 2 200
#> 8 ser2 2019 3 300
#> 9 ser2 2019 4 400
#> 10 ser2 2020 1 500