---
title: "Learn R Markdown"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Learn R Markdown}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
# Overview
If you are new to using R Markdown, we encourage you to start with a systematic overview, rather than diving right in to reading documentation pages. The best place to start is the ["Communication" section](https://r4ds.had.co.nz/communicate-intro.html) in the book "R for Data Science" (R4DS for short), an O’Reilly book written by Hadley Wickham and Garrett Grolemund.
Here are the chapters that cover R Markdown, as summarized by Hadley and Garrett:
* In [R Markdown](https://r4ds.had.co.nz/r-markdown.html), you will learn about R Markdown, a tool for integrating
prose, code, and results. You can use R Markdown in notebook mode for
analyst-to-analyst communication, and in report mode for
analyst-to-decision-maker communication. Thanks to the power of R Markdown
formats, you can even use the same document for both purposes.
* In [R Markdown formats](https://r4ds.had.co.nz/r-markdown-formats.html), you'll learn a little about the many other varieties
of outputs you can produce using R Markdown, including dashboards, websites,
and books.
* We'll finish up with [R Markdown workflow](https://r4ds.had.co.nz/r-markdown-workflow.html), where you'll learn about the
"analysis notebook" and how to systematically record your successes and failures so that you can learn from them.
# Tutorials
The [R Markdown website](https://rmarkdown.rstudio.com/lesson-1.html) offers a series of tutorials you can follow to see what is possible with R Markdown.
These tutorials offer accompanying [RStudio Cloud](https://rstudio.cloud/) lessons you can use right away in your browser.
You can also access links to all these tutorials in the **"Get Started"** section from the top of this page.
# User Guide
Written by the authors of the **rmarkdown** package, [R Markdown: The Definitive Guide](https://bookdown.org/yihui/rmarkdown/) provides a comprehensive user guide to the complete R Markdown ecosystem for authoring documents. The book is published by Chapman & Hall/CRC, and you can read it online for free.
The book is structured into four parts:
* [Part I](https://bookdown.org/yihui/rmarkdown/installation.html) introduces how to install the relevant packages, and provides an overview of R Markdown, including the possible output formats, the Markdown syntax, the R code chunk syntax, and how to use other languages in R Markdown.
* [Part II](https://bookdown.org/yihui/rmarkdown/documents.html) is the detailed documentation of built-in output formats in the rmarkdown package, including document formats and presentation formats. These output formats are "built-in" because you do not need any other R packages other than rmarkdown to use them.
* [Part III](https://bookdown.org/yihui/rmarkdown/dashboards.html) documents several R Markdown extension packages that enable you to build different applications or generate output documents with different styles. These output formats are "extensions" because you will need to install R packages, in addition to rmarkdown, to use them.
* [Part IV](https://bookdown.org/yihui/rmarkdown/parameterized-reports.html) covers advanced topics about R Markdown.
# Going further wih examples
[R Markdown Cookbook](https://bookdown.org/yihui/rmarkdown-cookbook/) provides a range of examples on how to extend the functionality of your R Markdown documents. As a cookbook, this guide is recommended to new and intermediate R Markdown users who desire to enhance the efficiency of using R Markdown and also explore the power of R Markdown. The book is published by Chapman & Hall/CRC, and you can read it online for free.
This cookbook is not a full technical reference for R Markdown but aims to supplement, instead of replace, the existing literature. The book is thus organized by topics with example as self-contained as possible so that readers can read this book with specific tasks in mind to do with R Markdown.
The topics are the following
```{r, results='asis', echo = FALSE, eval = FALSE}
# run this to update the content below
xfun::pkg_attach2("xml2")
html <- read_html("https://bookdown.org/yihui/rmarkdown-cookbook/")
chapters <- xml_find_all(html, "//li[@class='chapter']")
first_level <- chapters[which(purrr::map_lgl(xml_attr(chapters, 'data-level'), ~ grepl('^\\d+$', .x)))]
titles <- xml_text(xml_find_all(first_level, "a"))
titles <- gsub("^(\\d+)", "\\1.", titles)
titles <- gsub("^(.*) \\([*])$", "\\1", titles)
url <- file.path("https://bookdown.org/yihui/rmarkdown-cookbook", xml_attr(first_level, "data-path"))
formatted <- sprintf("* [%s](%s)", titles, url)
cat(formatted, sep = "\n")
```
* [1. Installation](https://bookdown.org/yihui/rmarkdown-cookbook/installation.html)
* [2. Conceptual Overview](https://bookdown.org/yihui/rmarkdown-cookbook/conceptual-overview.html)
* [3. Basics](https://bookdown.org/yihui/rmarkdown-cookbook/basics.html)
* [4. Document Elements](https://bookdown.org/yihui/rmarkdown-cookbook/document-elements.html)
* [5. Formatting](https://bookdown.org/yihui/rmarkdown-cookbook/formatting.html)
* [6. LaTeX Output](https://bookdown.org/yihui/rmarkdown-cookbook/latex-output.html)
* [7. HTML Output](https://bookdown.org/yihui/rmarkdown-cookbook/html-output.html)
* [8. Word](https://bookdown.org/yihui/rmarkdown-cookbook/word.html)
* [9. Multiple Output Formats](https://bookdown.org/yihui/rmarkdown-cookbook/multi-formats.html)
* [10. Tables](https://bookdown.org/yihui/rmarkdown-cookbook/tables.html)
* [11. Chunk Options](https://bookdown.org/yihui/rmarkdown-cookbook/chunk-options.html)
* [12. Output Hooks](https://bookdown.org/yihui/rmarkdown-cookbook/output-hooks.html)
* [13. Chunk Hooks](https://bookdown.org/yihui/rmarkdown-cookbook/chunk-hooks.html)
* [14. Miscellaneous knitr Tricks](https://bookdown.org/yihui/rmarkdown-cookbook/knitr-misc.html)
* [15. Other Languages](https://bookdown.org/yihui/rmarkdown-cookbook/other-languages.html)
* [16. Managing Projects](https://bookdown.org/yihui/rmarkdown-cookbook/managing-projects.html)
* [17. Workflow](https://bookdown.org/yihui/rmarkdown-cookbook/workflow.html)
# Cheatsheets
The [R Markdown cheatsheet](https://raw.githubusercontent.com/rstudio/cheatsheets/main/rmarkdown.pdf) is a one page (two-sided) reference guide you can download as a quick reference while you work.
You can access it from within the RStudio IDE:
- *Help > Cheatsheets >
R Markdown Cheat Sheet*