Learn R Programming

knitr (version 1.31)

stitch: Automatically create a report based on an R script and a template

Description

This is a convenience function for small-scale automatic reporting based on an R script and a template. The default template is an Rnw file (LaTeX); stitch_rhtml() and stitch_rmd() are wrappers on top of stitch() using the R HTML and R Markdown templates respectively.

Usage

stitch(
  script,
  template = system.file("misc", "knitr-template.Rnw", package = "knitr"),
  output = NULL,
  text = NULL,
  envir = parent.frame()
)

stitch_rhtml(..., envir = parent.frame())

stitch_rmd(..., envir = parent.frame())

Arguments

script

Path to the R script.

template

Path of the template to use. By default, the Rnw template in this package; there is also an HTML template in knitr.

output

Output filename, passed to knit). By default, the base filename of the script is used.

text

A character vector. This is an alternative way to provide the input file.

envir

Environment in which code chunks are to be evaluated, for example, parent.frame(), new.env(), or globalenv()).

...

Arguments passed to stitch().

Value

path of the output document

Details

The first two lines of the R script can contain the title and author of the report in comments of the form ## title: and ## author:. The template must have a token %sCHUNK_LABEL_HERE, which will be used to input all the R code from the script. See the examples below.

The R script may contain chunk headers of the form ## ---- label, opt1=val1, opt2=val2, which will be copied to the template; if no chunk headers are found, the whole R script will be inserted into the template as one code chunk.

See Also

spin (turn a specially formatted R script to a report)

Examples

Run this code
# NOT RUN {
s = system.file("misc", "stitch-test.R", package = "knitr")
if (interactive()) stitch(s)  # compile to PDF

# HTML report
stitch(s, system.file("misc", "knitr-template.Rhtml", package = "knitr"))

# or convert markdown to HTML
stitch(s, system.file("misc", "knitr-template.Rmd", package = "knitr"))

unlink(c("stitch-test.html", "stitch-test.md", "figure"), recursive = TRUE)
# }

Run the code above in your browser using DataLab