--- title: "rjdmarkdown with HTML output" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{rjdmarkdown with HTML output} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", out.width = "100%", fig.dim = c(8, 5), dpi = 300, warning = FALSE, message = FALSE ) ``` The functions developped in `rjdmarkdown` are: - `print_preprocessing()` for the pre-processing model; - `print_decomposition()` for the decomposition; - `print_diagnostics()` to print diagnostics tests on the quality of the seasonal adjustment. The result is different between X-13ARIMA and TRAMO-SEATS models. ```{r} library(rjdmarkdown) library(RJDemetra) sa_x13 <- x13(ipi_c_eu[, "FR"]) sa_ts <- tramoseats(ipi_c_eu[, "FR"]) ``` # X-13-ARIMA model ```{r, results='asis', fig.cap = "S-I Ratio"} 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`](https://aqlt.github.io/ggdemetra/) package, for example to add the seasonally adjusted series and its forecasts: ```{r, results='asis', fig.cap = c("Seasonal adjustment of the French industrial production index", "S-I Ratio")} 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: ```{r,eval=FALSE} 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 = "html_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",".html", output_file, fixed= TRUE)) ``` Several models can also be printed creating a workspace: ```{r,eval=FALSE} 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 = "html_document", output_options = list(toc = TRUE, number_sections = TRUE)) # To open the file: browseURL(sub(".Rmd",".html", output_file, fixed= TRUE)) ``` # Reproductibility To produce this document, the `knitr` options were set as followed: ```{r, include = TRUE, eval = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", out.width = "100%", fig.dim = c(7, 5), warning = FALSE, message = FALSE ) ``` And the options `results='asis', fig.cap = "S-I Ratio"` were used in the chunks.