rmarkdown :: Cheatsheet

Surround code chunks with ``` and ``` or use the Insert Code Chunk button. Add a chunk label and/or chunk options inside the curly braces after r .

Set Global Options

Set options for the entire document in the first chunk.

 ``` knitr::opts_chunk$set(message = FALSE) ``` 

Inline Code

Insert `r ` into text sections. Code is evaluated at render and results appear as text.

The markdown text

Built with `r getRversion()` 

will render as “Built with 4.4.0” in the output file.

Chunk Options

Table of chunk options. The first column is the option name, the second column is the option’s default value, the third column describes what the option does.
Option Default Effects
echo TRUE display code in output document
error FALSE TRUE (display error messages in doc), FALSE (stop render when error occurs)
eval TRUE run code in chunk
include TRUE include chunk in doc after running
message TRUE display code messages in document
warning TRUE display code warnings in document
results "markup" "asis" (pass through results), "hide" (don’t display results), "hold" (put all results below all code)
fig.align "default" "left" , "right" , or "center"
fig.alt NULL alt text for a figure
fig.cap NULL figure caption as a character string
fig.path "figure/" prefix for generating file paths
fig.width & fig.height 7 plot dimensions in inches
out.width rescales output width, e.g. "75%" , "300px"
collapse FALSE collapse all sources & output into a single block
comment "##" prefix for each line of results
child NULL file(s) to knit and then include
purl TRUE include or exclude a code chunk when extracting source code with knitr::purl()

See more options and defaults by running str(knitr::opts_chunk$get()) .

Insert Citations

Create citations from a bibliography file, a Zotero library, or from DOI references.

Build Your Bibliography

 --- title: "My Document" bibliography: references.bib link-citations: TRUE --- 

Insert Citations

Insert Tables

Output data frames as tables using kable(data, caption) .

 ``` data  knitr::kable(data, caption = "Tables with kable") ``` 

Other table packages include flextable, gt, and kableExtra.

Write With Markdown

The syntax on the left renders as the output on the right.

Markdown Syntax

Plain text.

Rendered Output

End a line with two spaces to start a new paragraph.

End a line with two spaces to

start a new paragraph.

Also end a line with a backslash\ to make a new line.

Also end a line with a backslash

to make a new line.

*italics* and **bold**
superscript^2^/subscript~2~
~~strike through~~
escaped: \* \_ \\
en dash: --, em dash: ---
# Header 1

Header 1

## Header 2

Header 2

###### Header 6
Header 6
- unordered list - item 2 - item 2a (indent 1 tab) - item 2b
1. ordered list 2. item 2 - item 2a (indent 1 tab) - item 2b
[This is a link.](link url)
[This is another link.][id]. At the end of the document: [id]: link url
![Caption](image.png) or ![Caption](id2) At the end of the document include: [id2]: image.png
`verbatim code`
``` multiple lines of verbatim code ```
multiple lines of verbatim code
> block quotes
equation: $e^ + 1 = 0$
equation block: $$E = mc^$$
horizontal rule: ---
|Right|Left|Default|Center| |----:|:---|-------|:----:| |12 |12 |12 |12 | |123 |123 |123 |123 | |1 |1 |1 |1 | Table: Caption text, example rendered table
Caption text, example rendered table.
Right Left Default Center
12 12 12 12
123 123 123 123
1 1 1 1
## Results ### Plots text ### Tables more text

Results

Set Output Formats and Their Options in YAML

Use the document’s YAML header to set an output format and customize it with output options. Indent format 2 characters, indent options 4 characters.

 --- title: "My Document" author: "Author Name" output: html_document:  toc: true toc-location: left --- 

Output Format Table

Table of output formats. The output format in the first column creates the file type in the second column.
Output Format Creates
html_document .html
pdf_document 1 .pdf
word_document Microsoft Word (.docx)
powerpoint_presentation Microsoft PowerPoint (.pptx)
odt_document OpenDocument Text
rtf_document Rich Text Format
md_document Markdown
github_document Markdown for Github
ioslides_presentations ioslides HTML slides
slidy_presentation Slidy HTML slides
beamer_presentation 2 Beamer slides

Also see flexdashboard, bookdown, distill, and blogdown.

Output Options Table

Table of output options. The first column is the option name, the second column is the description and possible values, and then remaining columns show what file types each option can be applied to.
Important Options Description HTML PDF MS Word MS PPT
anchor_sections Show section anchors on mouse hover (TRUE or FALSE) X
citation_package The LaTeX package to process citations (“default”, “natbib”, biblatex”)
code_download Give readers an option to download the .Rmd source code (TRUE or FALSE) X
code_folding Let readers toggle the display of R code (“none”, “hide”, or “show”) X
css CSS or SCSS file to use to style the document (e.g. “style.css”) X
dev Graphics device to use for figure output (e.g. “png”, “pdf”) X X
df_print Method for printing data frames (“default”, “kable”, “tibble”, “paged”) X X X X
fig_caption Should figures be rendered with captions (TRUE or FALSE) X X X X
highlight Syntax highlighting (“tango”, “pygments”, “kate”, “zenburn”, “textmate”) X X X
includes File of content to place in doc (“in_header”, “before_body”, “after_body”) X X
keep_md Keep the Markdown .md file generated by knitting (TRUE or FALSE) X X X X
keep_tex Keep the intermediate TEX file used to convert to PDF (TRUE or FALSE) X
latex_engine LaTeX engine for producing PDF output (“pdflatex”, “xelatex”, or “lualatex”) X
reference_docx/_doc docx/pptx file containing styles to copy in the output (e.g. “file.docx”, “file.pptx”) X X
theme Theme options (see Bootswatch and Custom Themes below) X
toc Add a table of contents at start of document (TRUE or FALSE) X X X X
toc_depth The lowest level of headings to add to table of contents (e.g. 2, 3) X X X X
toc_float Float the table of contents to the left of the main document content (TRUE or FALSE) X

Use ? to see all of a format’s options, e.g. ?html_document

More Header Options

Parameters

Parameterize your documents to ruse with new inputs (e.g. data, values, etc.).

    Add parameters in the header as sub-values of params .

 --- params: state: "hawaii" --- 
  ``` data  summary(data) ``` 

Reusable Templates

  1. Create a new package with an inst/rmarkdown/templates directory.
  2. Add a folder containing template.yaml (below) and skeleton.Rmd (template contents).
 --- name: "My Template" --- 

Bootswatch Themes

Customize HTML documents with Bootswatch themes from the bslib package using the theme output option. Use bslib::bootswatch_themes() to list available themes.

 --- title: "My Document" author: "Author Name" output: html_document: theme: bootswatch: solar --- 

Custom Themes

Customize individual HTML elements using bslib variables. Use ?bs_theme to see more variables.

 --- output: html_document: theme: bg: "#121212" fg: "#E4E4E4" base_font: google: "Prompt" --- 

Styling With CSS and SCSS

Add CSS and SCSS to your documents by adding a path to a file with the css option in the YAML header.

 --- title: "My Document" author: "Author Name" output: html_document: css: "style.css" --- 

Apply CSS styling by writing HTML tags directly or: