Générer des graphiques d'étalonnage dans un fichier PDF
Source :R/plot_graphTable.R
plot_graphTable.Rd
Créer un fichier PDF (format de papier lettre US en orientation paysage) contenant des graphiques d'étalonnage pour l'ensemble
des séries contenues dans le data frame de sortie graphTable
de la fonction d'étalonnage (benchmarking()
ou
stock_benchmarking()
) spécifié. Quatre types de graphiques d'étalonnage peuvent être générés pour chaque série :
Échelle originale (argument
ori_plot_flag
) - graphique superposé des composantes :Série indicatrice
Moyennes de la série indicatrice
Série indicatrice corrigée pour le biais (lorsque \(\rho < 1\))
Série étalonnée
Moyennes des étalons
Échelle d'ajustement (argument
adj_plot_flag
) - graphique superposé des composantes :Ajustements d'étalonnage
Moyennes des ajustements d'étalonnage
Ligne du biais (lorsque \(\rho < 1\))
Taux de croissance (argument
GR_plot_flag
) - diagramme à barres des taux de croissance des séries indicatrice et étalonnée.Tableau des taux de croissance (argument
GR_table_flag
) - tableau des taux de croissance des séries indicatrice et étalonnée.
Ces graphiques peuvent être utiles pour évaluer la qualité des résultats de l'étalonnage. N'importe lequel des quatre types de graphiques d'étalonnage peut être activé ou désactivé à l'aide du drapeau (flag) correspondant. Les trois premiers types graphiques sont générés par défaut alors que le quatrième (le tableau des taux de croissance) ne l'est pas.
Utilisation
plot_graphTable(
graphTable,
pdf_file,
ori_plot_flag = TRUE,
adj_plot_flag = TRUE,
GR_plot_flag = TRUE,
GR_table_flag = FALSE,
add_bookmarks = TRUE
)
Arguments
- graphTable
(obligatoire)
Data frame (object de classe « data.frame ») correspondant au data frame de sortie
graphTable
de la fonction d'étalonnage.- pdf_file
(obligatoire)
Nom (et chemin) du fichier PDF qui contiendra les graphiques d'étalonnage. Le nom doit inclure l'extension de fichier « .pdf ». Le fichier PDF sera créé dans le répertoire de travail de la session R (tel que renvoyé par
getwd()
) si aucun chemin n'est spécifié. La sécification deNULL
annulerait la création d'un fichier PDF.- ori_plot_flag, adj_plot_flag, GR_plot_flag, GR_table_flag
(optionnels)
Arguments logiques (logical) indiquant si le type de graphique d'étalonnage correspondant doit être généré ou non. Les trois premiers types de graphiques sont générés par défaut alors que le quatrième (le tableau des taux de croissance) ne l'est pas.
Les valeurs par défaut sont
ori_plot_flag = TRUE
,adj_plot_flag = TRUE
,GR_plot_flag = TRUE
etGR_table_flag = FALSE
.- add_bookmarks
Argument logique (logical) indiquant si des signets doivent être ajoutés au fichier PDF. Voir Signets dans la section Détails pour plus d'informations.
La valeur par défaut est
add_bookmarks = TRUE
.
Valeur de retour
En plus de créer un fichier PDF contenant les graphiques d'étalonnage (sauf si pdf_file = NULL
), cette fonction renvoie également
de manière invisible une liste comprenant les éléments suivants :
pdf_name
: Chaîne de caractères (vecteur de type caractère de longueur un) qui contient le nom complet et le chemin du fichier PDF s'il a été créé avec succès etinvisible(NA_character_)
dans le cas contraire ou sipdf_file = NULL
a été spécifié.graph_list
: Liste des graphiques d'étalonnage générés (une par série) comprenant les éléments suivants :name
: Chaîne de caractères décrivant la série (concorde avec le nom du signet dans le fichier PDF).page
: Entier représentant le numéro de séquence du premier graphique de la série dans la séquence complète des graphiques pour toutes les séries (concorde avec le numéro de page dans le fichier PDF).ggplot_list
: Liste d'objets ggplot (une par graphique ou par page dans le fichier PDF) correspondant aux graphiques d'étalonnage générés pour la série. Voir la section Valeur dans bench_graphs pour plus de détails.
Notez que les objets ggplot renvoyés par la fonction peuvent être affichés manuellement avec print()
, auquel cas certaines mises
à jour des paramètres par défaut du thème ggplot2 sont recommandées afin de produire des graphiques ayant une apparence similaire à
ceux générés dans le fichier PDF (voir la section Valeur dans bench_graphs pour les détails). Gardez également à l'esprit que
ces graphiques sont optimisés pour un format de papier Lettre US en orientation paysage, c.-à-d., 11po de large (27.9cm, 1056px avec
96 PPP) et 8.5po de haut (21.6cm, 816px avec 96 PPP).
Détails
Liste des variables du data frame graphTable
correspondant à chaque élément des quatre types de graphiques
d'étalonnage:
Échelle originale (argument
ori_plot_flag
)subAnnual
pour la ligne Indicator SeriesavgSubAnnual
pour les segments Avg. Indicator SeriessubAnnualCorrected
pour la ligne Bias Corr. Indicator Series (lorsque \(\rho < 1\))benchmarked
pour la ligne Benchmarked SeriesavgBenchmark
pour les segments Average Benchmark
Échelle d'ajustement (argument
adj_plot_flag
)benchmarkedSubAnnualRatio
pour la ligne BI Ratios (Benchmarked Series / Indicator Series) \(^{(*)}\)avgBenchmarkSubAnnualRatio
pour les segments Average BI Ratios \(^{(*)}\)bias
pour la ligne Bias (lorsque \(\rho < 1\))
Taux de croissance (argument
GR_plot_flag
)growthRateSubAnnual
pour les barres Growth R. in Indicator Series \(^{(*)}\)growthRateBenchmarked
pour les barres Growth R. in Benchmarked Series \(^{(*)}\)
Tableau des taux de croissance (argument
GR_table_flag
)year
pour la colonne Yearperiod
pour la colonne PeriodsubAnnual
pour la colonne Indicator Seriesbenchmarked
pour la colonne Benchmarked SeriesgrowthRateSubAnnual
pour la colonne Growth Rate in Indicator Series \(^{(*)}\)growthRateBenchmarked
pour la colonne Growth Rate in Benchmarked Series \(^{(*)}\)
\(^{(*)}\) Les ratios étalons/indicateurs (« BI ratios ») et les taux de croissance (« growth rates ») correspondent en réalité à des différences lorsque \(\lambda = 0\) (étalonnage additif).
La fonction utilise les colonnes supplémentaires du data frame graphTable
(colonnes non listées dans la section
Valeur de retour de benchmarking()
et stock_benchmarking()
), le cas échéant, pour construire les groupes-BY. Voir la
section Étalonnage de plusieurs séries de benchmarking()
pour plus de détails.
Performance
Les deux types de graphiques de taux de croissance, c'est-à-dire le diagramme à barres (GR_plot_flag
) et le tableau (GR_table_flag
),
nécessitent souvent la génération de plusieurs pages dans le fichier PDF, en particulier pour les longues séries mensuelles avec
plusieurs années de données. Cette création de pages supplémentaires ralentit l'exécution de plot_graphTable()
. C'est pourquoi
seul le diagramme à barres est généré par défaut (GR_plot_flag = TRUE
et GR_table_flag = FALSE
). La désactivation des deux
types de graphiques de taux de croissance (GR_plot_flag = FALSE
et GR_table_flag = FALSE
) ou la réduction de la taille du
data frame d'entrée graphTable
pour les séries très longues (ex., en ne gardant que les années récentes) pourrait ainsi améliorer
le temps d'exécution. Notez également que l'impact de l'étalonnage sur les taux de croissance peut être déduit du graphique dans
l'échelle d'ajustement (adj_plot_flag
) en examinant l'ampleur du mouvement vertical (vers le bas ou vers le haut) des ajustements
d'étalonnage entre deux périodes adjacentes : plus le mouvement vertical est important, plus l'impact sur le taux de croissance
correspondant est important. Le temps d'exécution de plot_graphTable()
pourrait donc être reduit, si nécessaire, en ne générant
que les deux premiers types de graphiques et en se concentrant sur le graphique des d'ajustements d'étalonnage pour évaluer la
préservation du mouvement d'une période à l'autre, c'est-à-dire l'impact de l'étalonnage sur les taux de croissance initiaux.
Thèmes de ggplot2
Les graphiques sont générés avec la librairie ggplot2 qui est livrée avec un ensemble pratique de
thèmes complets pour l'aspect général des graphiques (avec theme_grey()
comme thème par défaut). Utilisez la fonction theme_set()
pour changer le thème appliqué aux graphiques générés par plot_graphTable()
(voir les Exemples).
Signets
Des signets sont ajoutés au fichier PDF avec xmpdf::set_bookmarks()
lorsque l'argument
add_bookmarks = TRUE
(par défault), ce qui nécessite un outil tiers tel que Ghostscript ou
PDFtk. Voir la section Installation dans
vignette("xmpdf", package = "xmpdf")
pour plus de détails.
Important : les signets seront ajoutés avec succès au fichier PDF si et seulement si xmpdf::supports_set_bookmarks()
renvoie TRUE
et l'exécution de xmpdf::set_bookmarks()
est réussie.
Si Ghostscript est installé sur votre machine mais que xmpdf::supports_set_bookmarks()
renvoie toujours FALSE
, essayez de
spécifier le chemin de l'exécutable Ghostscript dans la variable d'environnement R_GSCMD
(ex.,
Sys.setenv(R_GSCMD = "C:/Program Files/.../bin/gswin64c.exe")
avec Windows). D'un autre côté, si
xmpdf::supports_set_bookmarks()}
renvoie TRUE
mais que vous rencontrez des problèmes (insolubles) avec xmpdf::set_bookmarks()
(ex., erreur liée à l'exécutable Ghostscript), la création de signets peut être désactivée en spécifiant add_bookmarks = FALSE
.
Exemples
# Définir le répertoire de travail (pour les fichiers graphiques PDF)
rep_ini <- getwd()
setwd(tempdir())
# Ventes trimestrielles de voitures et camionnettes (séries indicatrices)
ind_tri <- ts_to_tsDF(
ts(matrix(c(# Voitures
1851, 2436, 3115, 2205, 1987, 2635, 3435, 2361, 2183, 2822,
3664, 2550, 2342, 3001, 3779, 2538, 2363, 3090, 3807, 2631,
2601, 3063, 3961, 2774, 2476, 3083, 3864, 2773, 2489, 3082,
# Camionnettes
1900, 2200, 3000, 2000, 1900, 2500, 3800, 2500, 2100, 3100,
3650, 2950, 3300, 4000, 3290, 2600, 2010, 3600, 3500, 2100,
2050, 3500, 4290, 2800, 2770, 3080, 3100, 2800, 3100, 2860),
ncol = 2),
start = c(2011, 1),
frequency = 4,
names = c("voitures", "camionnettes")))
# Ventes annuelles de voitures et camionnettes (étalons)
eta_tri <- ts_to_bmkDF(
ts(matrix(c(# Voitures
10324, 10200, 10582, 11097, 11582, 11092,
# Camionnettes
12000, 10400, 11550, 11400, 14500, 16000),
ncol = 2),
start = 2011,
frequency = 1,
names = c("voitures", "camionnettes")),
ind_frequency = 4)
# Étalonnage proportionnel sans correction pour le biais
res_eta <- benchmarking(ind_tri, eta_tri,
rho = 0.729, lambda = 1, biasOption = 1,
allCols = TRUE,
quiet = TRUE)
#>
#> Benchmarking indicator series [voitures] with benchmarks [voitures]
#> -------------------------------------------------------------------
#>
#> Benchmarking indicator series [camionnettes] with benchmarks [camionnettes]
#> ---------------------------------------------------------------------------
# Ensemble de graphiques par défaut (les 3 premiers types de graphiques)
plot_graphTable(res_eta$graphTable, "graphes_etalonnage.pdf")
#>
#> Generating the benchmarking graphics. Please be patient...
#> Benchmarking graphics generated for 2 series in the following PDF file:
#> %TEMP%\Rtmpq4EJhH\graphes_etalonnage.pdf
# Utiliser temporairement `theme_bw()` de ggplot2 pour les graphiques
library(ggplot2)
theme_ini <- theme_get()
theme_set(theme_bw())
plot_graphTable(res_eta$graphTable, "graphes_etalonnage_bw.pdf")
#>
#> Generating the benchmarking graphics. Please be patient...
#> Benchmarking graphics generated for 2 series in the following PDF file:
#> %TEMP%\Rtmpq4EJhH\graphes_etalonnage_bw.pdf
theme_set(theme_ini)
# Generer les 4 types de graphiques (incluant le tableau des taux de croissance)
plot_graphTable(res_eta$graphTable, "graphes_etalonnage_avec_tableauTC.pdf",
GR_table_flag = TRUE)
#>
#> Generating the benchmarking graphics. Please be patient...
#> Benchmarking graphics generated for 2 series in the following PDF file:
#> %TEMP%\Rtmpq4EJhH\graphes_etalonnage_avec_tableauTC.pdf
# Réduire le temps d'exécution en désactivant les deux types de graphiques
# des taux de croissance
plot_graphTable(res_eta$graphTable, "graphes_etalonnage_sans_TC.pdf",
GR_plot_flag = FALSE)
#>
#> Generating the benchmarking graphics. Please be patient...
#> Benchmarking graphics generated for 2 series in the following PDF file:
#> %TEMP%\Rtmpq4EJhH\graphes_etalonnage_sans_TC.pdf
# Réinitialiser le répertoire de travail à son emplacement initial
setwd(rep_ini)