R Markdown: Creating and Formatting Documents, Summaries of Advanced Computer Programming

An overview of R Markdown, explaining how to create and format documents using various file formats such as .Rmd and GitHub-flavored markdown. It covers the structure of an Rmd file, markdown quick reference, and tips for creating effective vignettes.

Typology: Summaries

2021/2022

Uploaded on 07/05/2022

allan.dev
allan.dev 🇦🇺

4.5

(86)

1K documents

1 / 17

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Vignettes and RMarkdown
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download R Markdown: Creating and Formatting Documents and more Summaries Advanced Computer Programming in PDF only on Docsity!

Vignettes and RMarkdown

what you

need to write

what people

like to read

foo.R

foo.Rmd

foo.md

foo.html

CC BY Jenny Bryan

Structure of an Rmd file

Minimum requirement: File name ends with .Rmd A little richer: first several lines are YAML markup

- Connect to other systems, e.g. Shiny, blowdown, book down - Set style and document output format

Text and headers

Text can be plain text or decorated as italic or bold Headers use # s

Header 1

Header 2

Header 3

One or more lines surrounded with {r}** and **. Place chunk options within curly braces, after r. Insert with YAML Header Optional section of render (e.g. pandoc) options written as key:value pairs (YAML). At start of file Between lines of - - - Text Narration formatted with markdown, mixed with: Code Chunks Chunks of embedded code. Each chunk: Begins with {r}** ends with ** R Markdown will run the code and append the results to the doc. It will use the location of the .Rmd file as the working directory Interactive Documents Turn your report into an interactive Shiny document in 4 steps

  1. Add runtime: shiny to the YAML header.
  2. Call Shiny input functions to embed input objects.
  3. Call Shiny render functions to embed reactive output.
  4. Render with rmarkdown::run or click Run Document in RStudio IDE output: html_document runtime: shiny numericInput("n", "How many cars?", 5) renderTable({ head(cars, input$n) })

Embed a complete app into your document with shiny:: shinyAppDir() NOTE: Your report will rendered as a Shiny app, which means you must choose an html output format, like html_document , and serve it with an active R Session. RStudio® is a trademark of RStudio, Inc. • CC BY SA RStudio • [email protected] • 844-448-1212 • rstudio.com • Learn more at rmarkdown.rstudio.com • rmarkdown 1.6 • Updated: 2016- R Markdown : : CHEAT SHEET Open a new .Rmd file at File ▶ New File ▶ R Markdown. Use the wizard that opens to pre- populate the file with a template Write document by editing template Knit document to create report ; use knit button or render() to knit Preview Output in IDE window Publish (optional) to web server Examine build log in R Markdown console Use output file that is saved along side .Rmd

modify chunk options run all previous chunks run current chunk insert code chunk go to code chunk run code chunk(s)

publish show outline synch publish button to accounts at rpubs.com, shinyapps.io RStudio Connect Reload document Find in document File path to output document set preview location What is R Markdown?

Insert with r. Results appear as text without code.

Options not listed above: R.options, aniopts, autodep, background, cache.comments, cache.lazy, cache.rebuild, cache.vars, dev, dev.args, dpi, engine.opts, engine.path, fig.asp, fig.env, fig.ext, fig.keep, fig.lp, fig.path, fig.pos, fig.process, fig.retina, fig.scap, fig.show, fig.showtext, fig.subcap, interval, out.extra, out.height, out.width, prompt, purl, ref.label, render, size, split, tidy.opts Embed code with knitr syntax Built with r getRversion() Built with 3.2. INLINE CODE CODE CHUNKS

getRversion()

Set with knitr:: opts_chunk$set() , e.g. GLOBAL OPTIONS

knitr::opts_chunk$set(echo = TRUE)

Use rmarkdown::r ender() to render/knit at cmd line. Important args: Workflow input - file to render output_format render Parameters Parameterize your documents to reuse with different inputs (e.g., data, values, etc.)

params: n: 100 d: !r Sys.Date()

Today’s date is r params$d

  1. Add parameters · Create and set parameters in the header as sub- values of params
  2. Call parameters · Call parameter values in code as params$
  3. Set parameters · Set values wth Knit with parameters or the params argument of render(): render("doc.Rmd", params = list(n = 1, d = as.Date("2015-01-01")) output_options - List of render options (as in YAML) output_file output_dir params - list of params to use envir - environment to evaluate code chunks in encoding - of input file .rmd Structure
.Rmd files · An R Markdown
(.Rmd) file is a record of your
research. It contains the code that a
scientist needs to reproduce your work
along with the narration that a reader
needs to understand your work.
Reproducible Research · At the click of a
button, or the type of a command, you
can rerun the code in an R Markdown file
to reproduce your work and export the
results as a finished report.
Dynamic Documents · You can choose
to export the finished report in a variety
of formats, including html, pdf, MS
Word, or RTF documents; html or pdf
based slides, Notebooks, and more.

cache - cache results for future knits (default = FALSE) cache.path - directory to save cached results in (default = "cache/") child - file(s) to knit and then include (default = NULL) collapse - collapse all output into single block (default = FALSE) comment - prefix for each line of results (default = '##') dependson - chunk dependencies for caching (default = NULL) echo - Display code in output document (default = TRUE) engine - code language used in chunk (default = 'R') error - Display error messages in doc (TRUE) or stop render when errors occur (FALSE) (default = FALSE) eval - Run code in chunk (default = TRUE) message - display code messages in document (default = TRUE) results (default = 'markup') 'asis' - passthrough results 'hide' - do not display results 'hold' - put all results below all code tidy - tidy code for display (default = FALSE) warning - display code warnings in document (default = TRUE) fig.align - 'left', 'right', or 'center' (default = 'default') fig.cap - figure caption as character string (default = NULL) fig.height, fig.width - Dimensions of plots in inches highlight - highlight source code (default = TRUE) include - Include chunk in doc after running (default = TRUE) IMPORTANT CHUNK OPTIONS rmarkdown Rmd

Numbered sections

Links

A link can be a plain http address or can underlie a phrase:

  • http://rmarkdown.rstudio.com/
  • R Markdown website Long URLs with, e.g. query parameters, work just as well.

Images

Including an image is very similar to hyperlinking Images can be on the web: ![RStudio logo](https://www.rstudio.com/wp-content/uploads/ 2014/04/rmarkdown.png) Or they can be Iocally stored, e.g. in a directory “images”

Reference style links and images Links

- A [linked phrase][id] - At the bottom of the document: [id]: http://example.com/ "Title" Images

  • ![alt text][id] - At the bottom of the document: [id]: figures/img.png “Title" Useful if you’ll be linking to the same target/image multiple times throughout the document

Math text

If you already know some LaTeX, you’re good to go Equations can be inline:

- $\bar{x}^ ^ sim^ N(\mu,\frac{\sigma} {\sqrt{n}})$ And equations can be centered in a new line: $$\bar{x} \sim N (\mu,\frac{\sigma} {\sqrt{n}})$$

Tips

The outer pipes ( | ) on a Markdown table are optional.You don't need to make the raw Markdown line up prettily.You can use inline Markdown within tables.For complicated tables, use R packages e.g. kable & kableExtra

Tips

Keep your text to max ~80 characters across, especially if you use a version control system (like git)Starting a list? Leave an empty line before the first item on your listNeed to test out bits of markdown code without knitting the entire document, use another document with bits and pieces of code to test out