Type: | Package |
Title: | 'ggplot2' Extension for Seasonal and Trading Day Adjustment with 'RJDemetra' |
Version: | 0.2.9 |
Description: | Provides 'ggplot2' functions to return the results of seasonal and trading day adjustment made by 'RJDemetra'. 'RJDemetra' is an 'R' interface around 'JDemetra+' (https://github.com/jdemetra/jdemetra-app), the seasonal adjustment software officially recommended to the members of the European Statistical System and the European System of Central Banks. |
Depends: | R (≥ 3.1.2), ggplot2 (≥ 2.0.0), RJDemetra (≥ 0.1.2), |
Imports: | ggrepel, gridExtra |
Suggests: | knitr, rmarkdown |
SystemRequirements: | Java (>= 8) |
License: | EUPL version 1.1 | EUPL version 1.2 [expanded from: EUPL] |
URL: | https://aqlt.github.io/ggdemetra/, https://github.com/AQLT/ggdemetra |
BugReports: | https://github.com/AQLT/ggdemetra/issues |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.3.2 |
VignetteBuilder: | knitr |
NeedsCompilation: | no |
Packaged: | 2025-06-24 18:29:09 UTC; alainquartierlatente |
Author: | Alain Quartier-la-Tente
|
Maintainer: | Alain Quartier-la-Tente <alain.quartier@yahoo.fr> |
Repository: | CRAN |
Date/Publication: | 2025-06-25 07:50:02 UTC |
Plot 'RJDemetra' model
Description
Plot 'RJDemetra' model
Usage
## S3 method for class 'SA'
autoplot(
object,
components = c("y", "sa", trend = "t", seasonal = "s", irregular = "i"),
forecast = FALSE,
...
)
Arguments
object |
a |
components |
components to print, can be |
forecast |
boolean indicating if the forecast series should be printed. |
... |
unused arguments. |
Examples
x = RJDemetra::jx13(ipi_c_eu[,"FR"])
ggplot2::autoplot(x)
Extract Component from 'RJDemetra' model
Description
Extract Component from 'RJDemetra' model
Usage
seasonal(x, forecast = FALSE)
trendcycle(x, forecast = FALSE)
irregular(x, forecast = FALSE)
seasonaladj(x, forecast = FALSE)
calendaradj(x, forecast = FALSE)
calendar(x, forecast = FALSE)
raw(x, forecast = FALSE)
Arguments
x |
a |
forecast |
boolean indicating if the forecast series should be returned. |
ARIMA model
Description
Function to add directly to the plot the ARIMA model used in the pre-adjustment process of the seasonal adjustment.
Usage
geom_arima(
mapping = NULL,
data = NULL,
stat = "arima",
geom = c("text", "label"),
position = "identity",
...,
method = c("x13", "tramoseats"),
spec = NULL,
frequency = NULL,
message = TRUE,
x_arima = NULL,
y_arima = NULL,
show.legend = NA,
inherit.aes = TRUE
)
Arguments
mapping |
Set of aesthetic mappings created by aes(). If specified and |
data |
A |
stat |
The statistical transformation to use on the data for this layer, as a string. |
geom |
character. The geometric to use to display the data:
|
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
... |
Other arguments passed on to layer(). These are
often aesthetics, used to set an aesthetic to a fixed value, like
|
method |
the method used for the seasonal adjustment. |
spec |
the specification used for the seasonal adjustment. See x13() or tramoseats(). |
frequency |
the frequency of the time series. By default ( |
message |
a |
x_arima , y_arima |
position of the text of the ARIMA model. By default, the first position of the |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
Details
With the parameter geom = "text"
, the ARIMA model used in the pre-adjustment process of the seasonal adjustment are directly added to the plot. With geom = "label"
a rectangle is drawn behind the ARIMA model, making it easier to read.
Examples
p_sa_ipi_fr <- ggplot(data = ipi_c_eu_df, mapping = aes(x = date, y = FR)) +
geom_line(color = "#F0B400") +
labs(title = "Seasonal adjustment of the French industrial production index",
x = "time", y = NULL) +
geom_sa(color = "#155692", message = FALSE)
# To add the ARIMA model
p_sa_ipi_fr +
geom_arima(geom = "label",
x_arima = - Inf, y_arima = -Inf,
vjust = -1, hjust = -0.1,
message = FALSE)
Table of diagnostics
Description
Adds a table of diagnostics to the plot
Usage
geom_diagnostics(
mapping = NULL,
data = NULL,
position = "identity",
...,
method = c("x13", "tramoseats"),
spec = NULL,
frequency = NULL,
message = TRUE,
diagnostics = NULL,
digits = 2,
xmin = -Inf,
xmax = Inf,
ymin = -Inf,
ymax = Inf,
table_theme = ttheme_default(),
inherit.aes = TRUE
)
Arguments
mapping |
Set of aesthetic mappings created by aes(). If specified and |
data |
A |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
... |
Other arguments passed on to layer(). These are
often aesthetics, used to set an aesthetic to a fixed value, like
|
method |
the method used for the seasonal adjustment. |
spec |
the specification used for the seasonal adjustment. See x13() or tramoseats(). |
frequency |
the frequency of the time series. By default ( |
message |
a |
diagnostics |
vector of character containing the name of the diagnostics to plot. See user_defined_variables() for the available parameters. |
digits |
integer indicating the number of decimal places to be used for numeric diagnostics. By default |
xmin , xmax |
x location (in data coordinates) giving horizontal location of raster. |
ymin , ymax |
y location (in data coordinates) giving vertical location of raster. |
table_theme |
list of theme parameters for the table of diagnostics (see ttheme_default()). |
inherit.aes |
If |
Examples
p_sa_ipi_fr <- ggplot(data = ipi_c_eu_df, mapping = aes(x = date, y = FR)) +
geom_line(color = "#F0B400") +
labs(title = "Seasonal adjustment of the French industrial production index",
x = "time", y = NULL) +
geom_sa(color = "#155692", message = FALSE)
# To add of diagnostics with result of the X-11 combined test and the p-values
# of the residual seasonality qs and f tests:
diagnostics <- c("diagnostics.combined.all.summary", "diagnostics.qs", "diagnostics.ftest")
p_sa_ipi_fr +
geom_diagnostics(diagnostics = diagnostics,
ymin = 58, ymax = 72, xmin = 2010,
table_theme = gridExtra::ttheme_default(base_size = 8),
message = FALSE)
# To customize the names of the diagnostics in the plot:
diagnostics <- c(`Combined test` = "diagnostics.combined.all.summary",
`Residual qs-test (p-value)` = "diagnostics.qs",
`Residual f-test (p-value)` = "diagnostics.ftest")
p_sa_ipi_fr +
geom_diagnostics(diagnostics = diagnostics,
ymin = 58, ymax = 72, xmin = 2010,
table_theme = gridExtra::ttheme_default(base_size = 8),
message = FALSE)
# To add the table below the plot:
p_diag <- ggplot(data = ipi_c_eu_df, mapping = aes(x = date, y = FR)) +
geom_diagnostics(diagnostics = diagnostics,
table_theme = gridExtra::ttheme_default(base_size = 8),
message = FALSE) +
theme_void()
gridExtra::grid.arrange(p_sa_ipi_fr, p_diag,
nrow = 2, heights = c(4, 1))
Outliers texts
Description
Function to add directly to the plot the outliers used in the pre-adjustment process of the seasonal adjustment.
Usage
geom_outlier(
mapping = NULL,
data = NULL,
stat = "outlier",
geom = c("text", "label", "text_repel", "label_repel"),
position = "identity",
...,
method = c("x13", "tramoseats"),
spec = NULL,
frequency = NULL,
message = TRUE,
first_date = NULL,
last_date = NULL,
coefficients = FALSE,
digits = 1,
show.legend = NA,
inherit.aes = TRUE
)
Arguments
mapping |
Set of aesthetic mappings created by aes(). If specified and |
data |
A |
stat |
The statistical transformation to use on the data for this layer, as a string. |
geom |
character. The geometric to use to display the data:
|
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
... |
Other arguments passed on to layer(). They may be parameters of
geom_text() (if |
method |
the method used for the seasonal adjustment. |
spec |
the specification used for the seasonal adjustment. See x13() or tramoseats(). |
frequency |
the frequency of the time series. By default ( |
message |
a |
first_date |
A numeric specifying the first date from which the outliers are plotted.
By default ( |
last_date |
A numeric specifying the first date from which the outliers are plotted.
By default ( |
coefficients |
boolean indicating if the estimates coefficients are printed.
By default |
digits |
integer indicating the number of decimal places to be used for numeric diagnostics. By default |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
Details
With the parameter geom = "text"
, the outliers used in the pre-adjustment process of the seasonal adjustment are directly added to the plot. With geom = "label"
a rectangle is drawn behind the names of the outliers, making them easier to read. The same with geom = "text_repel"
or geom = "label_repel"
but text labels are also repeled away from each other and away from the data points (see geom_label_repel()).
Examples
p_sa_ipi_fr <- ggplot(data = ipi_c_eu_df, mapping = aes(x = date, y = FR)) +
geom_line(color = "#F0B400") +
labs(title = "Seasonal adjustment of the French industrial production index",
x = "time", y = NULL) +
geom_sa(color = "#155692", message = FALSE)
# To add the outliers:
p_sa_ipi_fr + geom_outlier(geom = "label",
message = FALSE)
# To have a more readable plot with outliers names that repeled away from each other
# and from the data points:
p_sa_ipi_fr +
geom_outlier(geom = "label_repel",
message = FALSE,
ylim = c(NA, 65),
arrow = arrow(length = unit(0.03, "npc"),
type = "closed", ends = "last"))
# To only plot the outliers from a specific date (2009):
p_sa_ipi_fr +
geom_outlier(geom = "label_repel",
message = FALSE,
first_date = 2009,
ylim = c(NA, 65),
arrow = arrow(length = unit(0.03, "npc"),
type = "closed", ends = "last"))
Seasonal adjustment time series
Description
Performs a seasonal adjustment and plots a time series.
geom_sa()
and stat_sa()
are aliases: they both use the same arguments.
Use stat_sa()
if you want to display the results with a non-standard geom.
Usage
geom_sa(
mapping = NULL,
data = NULL,
stat = "sa",
position = "identity",
...,
method = c("x13", "tramoseats"),
spec = NULL,
frequency = NULL,
message = TRUE,
component = "sa",
show.legend = NA,
inherit.aes = TRUE
)
stat_sa(
mapping = NULL,
data = NULL,
geom = "line",
position = "identity",
...,
method = c("x13", "tramoseats"),
spec = NULL,
frequency = NULL,
message = TRUE,
component = "sa",
show.legend = NA,
inherit.aes = TRUE
)
Arguments
mapping |
Set of aesthetic mappings created by aes(). If specified and |
data |
A |
stat |
The statistical transformation to use on the data for this layer, as a string. |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
... |
Other arguments passed on to layer(). These are
often aesthetics, used to set an aesthetic to a fixed value, like
|
method |
the method used for the seasonal adjustment. |
spec |
the specification used for the seasonal adjustment. See x13() or tramoseats(). |
frequency |
the frequency of the time series. By default ( |
message |
a |
component |
a |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
geom |
The geometric object to use to display the data |
Examples
p_ipi_fr <- ggplot(data = ipi_c_eu_df, mapping = aes(x = date, y = FR)) +
geom_line(color = "#F0B400") +
labs(title = "Seasonal adjustment of the French industrial production index",
x = "time", y = NULL)
# To add the seasonal adjusted series:
p_ipi_fr +
geom_sa(color = "#155692")
# To add the forecasts of the input data and the seasonal adjusted series:
p_sa <- p_ipi_fr +
geom_sa(component = "y_f", linetype = 2, message = FALSE, color = "#F0B400") +
geom_sa(component = "sa", color = "#155692", message = FALSE) +
geom_sa(component = "sa_f", color = "#155692", linetype = 2, message = FALSE)
p_sa
Initialise 'ggplot2' with 'SA' model
Description
Initialise 'ggplot2' with 'SA' model
Usage
init_ggplot(x, ...)
Arguments
x |
A |
... |
Other parameters passes to |
Examples
mod <- RJDemetra::x13(ipi_c_eu[, "FR"])
init_ggplot(mod) +
geom_line(color = "#F0B400") +
geom_sa(component = "sa", color = "#155692")
Industrial Production Indices in manufacturing in the European Union
Description
A dataset containing on monthly industrial production indices in manufacturing in the European Union (from sts_inpr_m dataset of Eurostat). Data are based 100 in 2015 and are unadjusted, i.e. neither seasonally adjusted nor calendar adjusted.
Usage
ipi_c_eu
ipi_c_eu_df
Format
A monthly ts
object from january 1990 to december 2017 with 34 variables for ipi_c_eu
and a data.frame
for ipi_c_eu_df
.
An object of class data.frame
with 360 rows and 35 columns.
Details
The dataset contains 34 time series corresponding to the following geographical area
BE | Belgium |
BG | Bulgaria |
CZ | Czechia |
DK | Denmark |
DE | Germany (until 1990 former territory of the FRG) |
EE | Estonia |
IE | Ireland |
EL | Greece |
ES | Spain |
FR | France |
HR | Croatia |
IT | Italy |
CY | Cyprus |
LV | Latvia |
LT | Lithuania |
LU | Luxembourg |
HU | Hungary |
MT | Malta |
NL | Netherlands |
AT | Austria |
PL | Poland |
PT | Portugal |
RO | Romania |
SI | Slovenia |
SK | Slovakia |
FI | Finland |
SE | Sweden |
UK | United Kingdom |
NO | Norway |
CH | Switzerland |
ME | Montenegro |
MK | Former Yugoslav Republic of Macedonia, the |
RS | Serbia |
TR | Turkey |
BA | Bosnia and Herzegovina |
Source
Eurostat, 'sts_inpr_m' database.
SI-ratio
Description
SI-ratio
Usage
siratio(x, ...)
siratioplot(
x,
labels = NULL,
add = FALSE,
box = TRUE,
col.s = "darkblue",
col.i = "gray",
col.mean = "red",
cex.i = 0.1,
lwd.s = par("lwd"),
lwd.mean = lwd.s,
main = "SI ratio",
xlab = NULL,
ylab = NULL,
xlim = NULL,
ylim = NULL,
start = NULL,
end = NULL,
...
)
ggsiratioplot(
x,
labels = NULL,
col.s = "darkblue",
col.i = "gray",
col.mean = "red",
cex.i = 0.5,
lwd.s = 1,
lwd.mean = lwd.s,
main = "SI ratio",
xlab = NULL,
ylab = NULL,
start = NULL,
end = NULL,
...
)
Arguments
x |
input model or data. |
... |
unused parameters. |
labels |
labels. |
add |
boolean indicating whether a new plot should be drawn. |
box |
boolean indicating a box around the current plot should be drawn. |
col.s , col.i , col.mean |
colors of the different components. |
cex.i , lwd.s , lwd.mean |
graphical parameters. |
main , xlab , ylab |
title, X and Y axis label. |
xlim , ylim |
X and Y axis limits. |
start , end |
first and last dates plotted. |
Examples
x <- RJDemetra::x13(ipi_c_eu[,"FR"])
siratioplot(x)
ggsiratioplot(x)
Convert 'ts' object to 'data.frame'
Description
Function to a ts
or mts
object to a data.frame
that can be directly used in the plot functions.
Usage
ts2df(x)
Arguments
x |
a |
Value
a data.frame
object.
Examples
# To get the ipi_c_eu_df object:
ts2df(ipi_c_eu)