Learn R Programming

rmarkdown

The rmarkdown package helps you create dynamic analysis documents that combine code, rendered output (such as figures), and prose. You bring your data, code, and ideas, and R Markdown renders your content into a polished document that can be used to:

  • Do data science interactively within the RStudio IDE,

  • Reproduce your analyses,

  • Collaborate and share code with others, and

  • Communicate your results with others.

R Markdown documents can be rendered to many output formats including HTML documents, PDFs, Word files, slideshows, and more, allowing you to focus on the content while R Markdown takes care of your presentation.

Books

See more about them in Get Started.

Installation

The easiest way to install the rmarkdown package is from within the RStudio IDE, but you don't need to explicitly install it or load it, as RStudio automatically does both when needed. A recent version of Pandoc (>= 1.12.3) is also required; RStudio also automatically includes this too so you do not need to download Pandoc if you plan to use rmarkdown from the RStudio IDE.

If you want to use the rmarkdown package outside of RStudio, you can install the package from CRAN as follows:

install.packages("rmarkdown")

If you want to use the development version of the rmarkdown package (either with or without RStudio), you can install the package from GitHub via the remotes package:

# install.packages("pak")
pak::pak('rstudio/rmarkdown')

If not using the RStudio IDE, you'll need to install a recent version of Pandoc (>= 1.12.3); see the Pandoc installation instructions for help.

Usage

The easiest way to make a new R Markdown document is from within RStudio. Go to File > New File > R Markdown. From the new file wizard, you may:

  • Provide a document title (optional but recommended),
  • Provide an author name (optional but recommended),
  • Select a default output format- HTML is the recommended format for authoring, and you can switch the output format anytime (required),
  • Click OK (required).

Once inside your new .Rmd file, you should see some boilerplate text that includes code chunks. Use the "Knit" button in the RStudio IDE to render the file and preview the output with a single click or use the keyboard shortcut Cmd/Ctrl + Shift + K.

You can also delete all the text below the YAML frontmatter and fill in your own .Rmd by:

  • Adding code chunks (keyboard shortcut: Ctrl + Alt + I; OS X: Cmd + Option + I),
  • Writing prose with Markdown formatting, and
  • Running each code chunk interactively by clicking the icon within RStudio.

You can also click "Knit to HTML" again to render the full document with all code chunks. For more help getting started in R Markdown, please see the R Markdown website or use the "Get Started" links at the top of this page.

Getting help

There are two main places to get help:

  1. The Posit community is a friendly place to ask any questions about rmarkdown and the R Markdown family of packages.

  2. Stack Overflow is a great source of answers to common rmarkdown questions. It is also a great place to get help, once you have created a reproducible example that illustrates your problem.

Code of Conduct

Please note that the rmarkdown project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Copy Link

Version

Install

install.packages('rmarkdown')

Monthly Downloads

969,921

Version

2.28

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

August 17th, 2024

Functions in rmarkdown (2.28)

html_notebook_metadata

Generate R Notebook Metadata
html_vignette

Convert to an HTML vignette
includes

Include content within output
html-dependencies

Provide common HTML dependencies for R Markdown formats
knitr_options_html

Knitr options for an HTML output format
html_notebook_output

Generate R Notebook Output
available_templates

List available R Markdown template in a package
knitr_options_pdf

Knitr options for a PDF output format
latex-dependencies

Provide common LaTeX dependencies
md_document

Convert to a markdown document
latex_dependency

Define a LaTeX package dependency
paged_table

Create a table in HTML with support for paging rows and columns
html_document

Convert to an HTML document
pandoc_args

Functions for generating pandoc command line arguments
html_document_base

Base output format for HTML-based output formats
ioslides_presentation

Convert to an ioslides Presentation
knit_params_ask

Run a shiny application asking for parameter configuration for the given document.
parse_html_notebook

Parse an HTML Notebook
pdf_document

Convert to a PDF/LaTeX document
output_format_dependency

Define and merge an R Markdown's output format dependency
output_metadata

The output metadata object
render

Render R Markdown
metadata

The YAML metadata of the current R Markdown document
pandoc_available

Check pandoc availability and version
navbar_html

Create a navbar HTML file from a navbar definition
word_document

Convert to an MS Word document
render_delayed

Delay Rendering for an Expression
slidy_presentation

Convert to a slidy presentation
output_format

Define an R Markdown output format
odt_document

Convert to an OpenDocument Text (ODT) document
pandoc_convert

Convert a document with pandoc
pandoc_citeproc_convert

Convert a bibliograpy file
pandoc_options

Pandoc options for an output format
pandoc_path_arg

Transform path for passing to pandoc
pkg_file_lua

Get the full paths of Lua filters in an R package
powerpoint_presentation

Convert to a PowerPoint presentation
resolve_output_format

Resolve the output format for an R Markdown document
publish_site

Publish an R Markdown Website
rtf_document

Convert to an RTF document
rmd_metadata

R Markdown Metadata
rmarkdown_format

R Markdown input format definition
rmarkdown-package

R Markdown Document Conversion
site_resources

Determine website resource files for a directory
run

Run a Shiny document
shiny_prerendered_server_start_code

Get the server startup code for a shiny_prerendered server instance
pandoc_exec

Get the path of the pandoc executable
relative_to

Relative path utility function
pandoc_self_contained_html

Create a self-contained HTML document using pandoc.
pandoc_template

Render a pandoc template.
render_site

Render multiple documents as a website
render_supporting_files

Render supporting files for an input document
yaml_front_matter

Parse the YAML front matter from a file
shiny_prerendered_chunk

Add code to a shiny_prerendered context
shiny_prerendered_clean

Clean prerendered content for the specified Rmd input file
convert_ipynb

Convert a Jupyter/IPython notebook to an R Markdown document
context_document

Convert to a ConTeXt document
all_output_formats

Determine all output formats for an R Markdown document
default_output_format

Determine the default output format for an R Markdown document
find_external_resources

Find External Resource References
find_pandoc

Find the pandoc executable
draft

Create a new document based on a template
beamer_presentation

Convert to a Beamer presentation
compile_notebook

Compiling R scripts to a notebook
html_notebook

Convert to an HTML notebook
github_document

Convert to GitHub Flavored Markdown
html_fragment

Convert to an HTML fragment.
knitr_options

Knitr options for an output format