Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Branding and Packaging Reports with R Markdown

Branding and Packaging Reports with R Markdown

Create custom R Markdown templates and {ggplot2} themes, then package them up to distribute.

Jake Thompson

January 30, 2020
Tweet

More Decks by Jake Thompson

Other Decks in Programming

Transcript

  1. Branding and Packaging Reports with R Markdown wjakethompson bit.ly/ratlas-rstudioconf wjakethompson.com

    @wjakethompson Jake Thompson, PhD University of Kansas Accessible Teaching, Learning, and Assessment Systems 2020-01-30 • rstudio::conf(2020)
  2. Noelle Pablo Assistant Psychometrician University of Kansas, ATLAS @noelle_pablo noellepablo

    Jeff Hoover Graduate Research Assistant University of Kansas, ATLAS @JeffreyCHoover JeffreyCHoover bit.ly/ratlas-rstudioconf
  3. Building a Word Template 1. Start writing document in R

    Markdown. bit.ly/ratlas-rstudioconf
  4. Building a Word Template 1. Start writing document in R

    Markdown. 2. Knit your document. bit.ly/ratlas-rstudioconf
  5. Building a Word Template 1. Start writing document in R

    Markdown. 2. Knit your document. 3. Style and save your word document. bit.ly/ratlas-rstudioconf
  6. Building a Word Template 1. Start writing document in R

    Markdown. 2. Knit your document. 3. Style and save your word document. 4. Define your template in your YAML. bit.ly/ratlas-rstudioconf
  7. Resources! • Branding and Automating with R Markdown - Daniel

    Hadley • Happy Collaboration with Rmd to docx - Richard Layton • R Markdown: The Definitive Guide - Yuihui Xie, J. J. Allair, Garrett Grolemund bit.ly/ratlas-rstudioconf
  8. Step 3: Polish • Custom {ggplot2} themes • {hrbrthemes} -

    Bob Rudis • {Rtistic} - Emily Riederer • {bbplot} - BBC • Default {knitr} chunks • {knitr} options guide bit.ly/ratlas-rstudioconf
  9. What Next? Copy and paste into each project • Templates

    • {ggplot2} themes • Other settings Wrap it up in an R package! • Always have the right version • Easy to distribute • Documentation included bit.ly/ratlas-rstudioconf
  10. Use Case: ratlas • Templates for reports • Convenient project

    templates • {ggplot2} themes • Vignettes! bit.ly/ratlas-rstudioconf
  11. Package Structure ratlas |-- DESCRIPTION |-- inst | |-- rmarkdown

    | |-- rstudio |-- man |-- NAMESPACE |-- R |-- README.md |-- tests |-- vignettes bit.ly/ratlas-rstudioconf
  12. inst/rmarkdown/ ratlas |-- inst | |-- rmarkdown | |-- templates

    | |-- topicguide | |-- resources | |-- template.docx | |-- techreport | |-- resources | |-- template.tex bit.ly/ratlas-rstudioconf
  13. R/render.R topicguide_docx <- function(...) { template <- system.file("rmarkdown", "templates", "topicguide",

    "template.docx") base <- bookdown::word_document2(reference_docx = template, ...) base$knitr$opts_chunk$echo <- FALSE base$knitr$opts_chunk$fig.asp <- 0.618 base } bit.ly/ratlas-rstudioconf
  14. inst/rstudio/ ratlas |-- inst | |-- rstudio | |-- templates

    | |-- project | |-- topicguide.dcf | |-- topicguide_resources | |-- index.Rmd | |-- references.bib bit.ly/ratlas-rstudioconf
  15. Other Examples! • sorensonimpact • Sorenson Impact Center • Jonathan

    Zadra, Daniel Hadley, & Gwendolyn Reynolds • thesisdown • Reed College (with many forks) • Chester Ismay • rticles • Journal LaTeX templates • J. J. Allaire, Yihui Xie, R Foundation, et al. bit.ly/ratlas-rstudioconf