R Markdown Cheat Sheet
learn more at rmarkdown.rstudio.com
rmarkdown 0.2.50 Updated: 8/14
1. Workflow R Markdown is a format for writing reproducible, dynamic reports with R. Use it to
embed R code and results into slideshows, pdfs, html documents, Word files and more. To make a report:
RStudio® is a trademark of RStudio, Inc. • CC BY RStudio • info@rstudio.com • 844-448-1212 • rstudio.com
2. Open File Start by saving a text file with the extension .Rmd, or open
an RStudio Rmd template
In the menu bar, click
File New File R Markdown…
A window will open. Select the class of output
you would like to make with your .Rmd file
Select the specific type of output to make
with the radio buttons (you can change this
later)
Click OK
i. Open - Open a file that
uses the .Rmd extension.
ii. Write - Write content with the
easy to use R Markdown syntax
iii. Embed - Embed R code that
creates output to include in the report
iv. Render - Replace R code with its output and transform
the report into a slideshow, pdf, html or ms Word file.
A report.
A plot:
```{r}
hist(co2)
```
Reveal.js
ioslides, Beamer
Microsoft
Word
.Rmd
A report.
A plot:
```{r}
hist(co2)
```
A report.
A plot:
```{r}
hist(co2)
```
A report.
A plot:
=
=
3. Markdown Next, write your report in plain text. Use markdown syntax to
describe how to format text in the final report.
Plain text
End a line with two spaces to start a new paragraph.
*italics* and _italics_
**bold** and __bold__
superscript^2^
~~strikethrough~~
[link](www.rstudio.com)
# Header 1
## Header 2
### Header 3
#### Header 4
##### Header 5
###### Header 6
endash: --
emdash: ---
ellipsis: ...
inline equation: $A = \pi*r^{2}$
image: ![](path/to/smallorb.png)
horizontal rule (or slide break):
***
> block quote
* unordered list
* item 2
+ sub-item 1
+ sub-item 2
1. ordered list
2. item 2
+ sub-item 1
+ sub-item 2
Table Header | Second Header
------------- | -------------
Table Cell | Cell 2
Cell 3 | Cell 4
syntax becomes
4. Choose Output Write a YAML header that explains what type of
document to build from your R Markdown file.
A YAML header is a set of key:
value pairs at the start of your
file. Begin and end the header
with a line of three dashes (- - -)
The output value determines which type of file R will build from your .Rmd file (in Step 6)
YAML
---
title: "Untitled"
author: "Anonymous"
output: html_document
---
This is the start of my
report. The above is metadata
saved in a YAML header.
The RStudio
template writes
the YAML header
for you
output: html_document
html file (web page)
pdf document
Microso Word .docx
beamer slideshow (pdf)
ioslides slideshow (html)
output: pdf_document
output: word_document
output: beamer_presentation
output: ioslides_presentation
zzzz
Rpubs.com
Share non-interactive
documents on RStudios free R
Markdown publishing site
www.rpubs.com
8. Publish Share your report where users can visit it online
9. Learn More
Documentation and examples - rmarkdown.rstudio.com
Further Articles - shiny.rstudio.com/articles
! - blog.rstudio.com
" - @rstudio
RStudio® and Shiny™ are trademarks of RStudio, Inc.
CC BY RStudio info@rstudio.com
844-448-1212 rstudio.com
Click the "Publish" button in the RStudio
preview window to publish to rpubs.com
with one click.
5. Embed Code Use knitr syntax to embed R code into your report. R
will run the code and include the results when you render your report.
6. Render Use your .Rmd file as a blueprint to build a finished report.
7. Interactive Docs Turn your report into an interactive Shiny document in 3 steps
Render your report in one of two ways
1. Run rmarkdown::render("<file path>")
2. Click the knit HTML button at the top of
the RStudio scripts pane
When you render, R will
execute each embedded code chunk and insert the results into your report
build a new version of your report in the output file type
open a preview of the output file in the viewer pane
save the output file in your working directory
* Note: your report will be a Shiny app, which means you must choose an html output format, like
html_document (for an interactive report) or ioslides_presentation (for an interactive slideshow).
Add runtime: shiny
to the YAML header
In the code chunks, add Shiny
input functions to embed widgets.
Add Shiny render functions to
embed reactive output
Render with
rmarkdown::run or
click Run Document
in RStudio
---
title: "Line graph"
output: html_document
runtime: shiny
---
Choose a time series:
```{r echo = FALSE}
selectInput("data", "",
c("co2", "lh"))
```
See a plot:
```{r echo = FALSE}
renderPlot({
d <- get(input$data)
plot(d)
})
---
title: "Line graph"
output: html_document
runtime: shiny
---
Choose a time series:
```{r echo = FALSE}
selectInput("data", "",
c("co2", "lh"))
```
See a plot:
```{r echo = FALSE}
renderPlot({
d <- get(input$data)
plot(d)
})
1 2 3
For more details visit yihui.name/knitr/
ShinyApps.io
Host an interactive document
on RStudios server. Free and
paid options
www.shinyapps.io
inline code code chunks
Surround code with back ticks and r.
R replaces inline code with its results.
Start a chunk with ```{r}.
End a chunk with ```
Two plus two
equals `r 2 + 2`.
Here’s some code
```{r}
dim(iris)
```
display options
Use knitr options to style the output of a chunk.
Place options in brackets above the chunk.
Here’s some code
```{r eval=FALSE}
dim(iris)
```
Here’s some code
```{r echo=FALSE}
dim(iris)
```
eval
TRUE
Whether to evaluate the code and include its results
echo
TRUE
Whether to display code along with its results
warning
TRUE
Whether to display warnings
error
FALSE
Whether to display errors
message
TRUE
Whether to display messages
tidy
FALSE
Whether to reformat code in a tidy way when displaying it
results
"markup"
"markup", "asis", "hold", or "hide"
cache
FALSE
Whether to cache results for future renders
comment
"##"
Comment character to preface results with
fig.width
7
Width in inches for plots created in chunk
fig.height
7
Height in inches for plots created in chunk
option
default
eect