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.
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())Path to the R script.
Path of the template to use. By default, the Rnw template in this package; there is also an HTML template in knitr.
Output filename, passed to knit). By default,
the base filename of the script is used.
A character vector. This is an alternative way to provide the input file.
Environment in which code chunks are to be evaluated, for
example, parent.frame(), new.env(), or
globalenv()).
Arguments passed to stitch().
path of the output document
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.
spin (turn a specially formatted R script to a report)
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"))
#>
#>
#> processing file: stitch-test.Rhtml
#> 1/7 [setup]
#>
#> | options(width=90)
#> | if (!exists('.knitr.title')) .knitr.title = 'A Report Generated by knitr'
#> | .knitr.author = if (exists('.knitr.author')) paste('by', .knitr.author) else ''
#> 2/7
#>
#> | I(.knitr.title) #128:158
#> | packageVersion('knitr') #326:364
#> | I(.knitr.author) #371:402
#> 3/7 [auto-report]
#>
#> | set.seed(1121)
#> | (x = rnorm(20))
#> | mean(x);var(x)
#> | boxplot(x)
#> | hist(x, main = '')
#> |
#> 4/7
#>
#> 5/7 [session-info]
#>
#> | sessionInfo()
#> | Sys.time()
#> 6/7 [clean-up]
#>
#> | rm(.knitr.author); rm(.knitr.author)
#> 7/7
#>
#> Chunk clean-up:
#> Warning in rm(.knitr.author): object '.knitr.author' not found
#>
#> rm(.knitr.author); rm(.knitr.author)
#>
#> Number of messages:
#> warning
#> 1
#> output file: stitch-test.html
#> [1] "stitch-test.html"
# or convert markdown to HTML
stitch(s, system.file("misc", "knitr-template.Rmd", package = "knitr"))
#>
#>
#> processing file: stitch-test.Rmd
#> 1/5
#>
#> | if (exists('.knitr.title')) I(paste('#', .knitr.title, sep = '')) #1:69
#> | if (exists('.knitr.author')) I(.knitr.author) #72:120
#> | packageVersion('knitr') #201:227
#> 2/5 [auto-report]
#>
#> | set.seed(1121)
#> | (x = rnorm(20))
#> | mean(x);var(x)
#> | boxplot(x)
#> | hist(x, main = '')
#> |
#> 3/5
#>
#> 4/5 [session-info]
#>
#> | sessionInfo()
#> | Sys.time()
#> 5/5 [clean-up]
#>
#> | if (exists('.knitr.title')) rm(.knitr.author)
#> | if (exists('.knitr.author')) rm(.knitr.author)
#> output file: stitch-test.md
#> HTML output at: stitch-test.html
#> [1] "stitch-test.md"
unlink(c("stitch-test.html", "stitch-test.md", "figure"), recursive = TRUE)