Learn R Programming

knitr (version 1.46)

spin: Spin goat's hair into wool

Description

This function takes a specially formatted R script and converts it to a literate programming document. By default normal text (documentation) should be written after the roxygen comment (#') and code chunk options are written after #| or #+ or # %% or # ----.

Usage

spin(
  hair,
  knit = TRUE,
  report = TRUE,
  text = NULL,
  envir = parent.frame(),
  format = c("Rmd", "Rnw", "Rhtml", "Rtex", "Rrst", "qmd"),
  doc = "^#+'[ ]?",
  inline = "^[{][{](.+)[}][}][ ]*$",
  comment = c("^[# ]*/[*]", "^.*[*]/ *$"),
  precious = !knit && is.null(text)
)

Value

If text is NULL, the path of the final output document, otherwise the content of the output.

Arguments

hair

Path to the R script. The script must be encoded in UTF-8 if it contains multibyte characters.

knit

Logical; whether to compile the document after conversion.

report

Logical; whether to generate a report for Rmd, Rnw and Rtex output. Ignored if knit = FALSE.

text

A character vector of code, as an alternative way to provide the R source. If text is not NULL, hair will be ignored.

envir

Environment for knit() to evaluate the code.

format

Character; the output format. The default is R Markdown.

doc

A regular expression to identify the documentation lines; by default it follows the roxygen convention, but it can be customized, e.g. if you want to use ## to denote documentation, you can use '^##\\s*'.

inline

A regular expression to identify inline R expressions; by default, code of the form {{code}} on its own line is treated as an inline expression.

comment

A pair of regular expressions for the start and end delimiters of comments; the lines between a start and an end delimiter will be ignored. By default, the delimiters are /* at the beginning of a line, and */ at the end, following the convention of C comments.

precious

logical: whether intermediate files (e.g., .Rmd files when format is "Rmd") should be preserved. The default is FALSE if knit is TRUE and the input is a file.

Author

Yihui Xie, with the original idea from Richard FitzJohn (who named it as sowsear() which meant to make a silk purse out of a sow's ear)

Details

Obviously the goat's hair is the original R script, and the wool is the literate programming document (ready to be knitted).

References

https://yihui.org/knitr/demo/stitch/

See Also

stitch (feed a template with an R script)