knitr::opts_chunk$set(collapse = TRUE,
  comment = "#>", fig.pos = "h",
  warning = FALSE, message = FALSE
)

The functions developped in rjdmarkdown are:

The result is different between X-13ARIMA and TRAMO-SEATS models.

library(rjdmarkdown)
library(RJDemetra)
sa_x13 <- x13(ipi_c_eu[, "FR"])
sa_ts <- tramoseats(ipi_c_eu[, "FR"])

X-13-ARIMA model

print_preprocessing(sa_x13)
print_decomposition(sa_x13, caption = NULL)
print_diagnostics(sa_x13)

TRAMO-SEATS model

Some others graphics can also be added with the ggdemetra package, for example to add the seasonally adjusted series and its forecasts:

library(ggdemetra)
ggplot(data = ipi_c_eu_df, mapping = aes(x = date, y = FR)) +
    geom_line() +
    labs(title = NULL,
         x = NULL, y = NULL) +
    geom_sa(component = "y_f", linetype = 2,
            frequency = 12, method = "tramoseats") + 
    geom_sa(component = "sa", color = "red") +
    geom_sa(component = "sa_f", color = "red", linetype = 2)
print_preprocessing(sa_ts)
print_decomposition(sa_ts, caption = NULL)
print_diagnostics(sa_ts)

Directly create a R Markdown file

A R Markdown can also directly be created and render with the create_rmd function. It can take as argument a SA, jSA, sa_item, multiprocessing (all the models of the multiprocessing are printed) or workspace object (all the models of all the multiprocessing of the workspace are printed).

The print of the pre-processing, decomposition and diagnostics can also be customized with preprocessing_fun, decomposition_fun and diagnostics_fun arguments. For example, to reproduce the example of the previous section:

preprocessing_customized <- function(x){
  library(ggdemetra)
  y <- get_ts(x)
  data_plot <- data.frame(date = time(y), y = y)
  p <- ggplot(data = data_plot, mapping = aes(x = date, y = y)) +
    geom_line() +
    labs(title = NULL,
         x = NULL, y = NULL) +
    geom_sa(component = "y_f", linetype = 2,
            frequency = 12, method = "tramoseats") +
    geom_sa(component = "sa", color = "red") +
    geom_sa(component = "sa_f", color = "red", linetype = 2)
  plot(p)
  cat("\n\n")
  print_preprocessing(sa_ts)
}
decomposition_customized <- function(x){
  print_decomposition(x, caption = NULL)
}

output_file <- tempfile(fileext = ".Rmd")

create_rmd(sa_ts, output_file, output_format = "pdf_document",
           preprocessing_fun = preprocessing_customized,
           decomposition_fun = decomposition_customized,
           knitr_chunk_opts = list(
             fig.pos = "h", results = "asis", 
             fig.cap =c("Seasonal adjustment of the French industrial production index",
                        "S-I Ratio"),
             warning = FALSE, message = FALSE, echo = FALSE)
           )
# To open the file:
browseURL(sub(".Rmd",".pdf", output_file, fixed= TRUE))

Several models can also be printed creating a workspace:

wk <- new_workspace()
new_multiprocessing(wk, "sa1")
add_sa_item(wk, "sa1", sa_x13, "X13")
add_sa_item(wk, "sa1", sa_ts, "TramoSeats")
# It's important to compute the workspace to be able to import the models
compute(wk)

output_file <- tempfile(fileext = ".Rmd")
create_rmd(wk, output_file, output_format = "pdf_document",
           output_options = list(toc = TRUE,
                                 number_sections = TRUE))
# To open the file:
browseURL(sub(".Rmd",".pdf", output_file, fixed= TRUE))

Reproductibility

For PDF outputs, the following package must be used.

header-includes:
   - \usepackage{booktabs}
   - \usepackage{float}
   - \usepackage{array}
   - \usepackage{multirow}
   - \floatplacement{figure}{H}

To produce this document, the knitr options were set as followed:

knitr::opts_chunk$set(collapse = TRUE,
  comment = "#>", fig.pos = "h",
  warning = FALSE, message = FALSE
)

And the options results='asis', fig.cap = "S-I Ratio" were used in the chunks.



AQLT/rjdmarkdown documentation built on Feb. 4, 2024, 10:39 p.m.