Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf ·...

46
Reproducible Reports with knitr and R Markdown Yihui Xie, RStudio 11/22/2014 @ UPenn, The Warren Center Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe... 1 of 46 1/15/15 2:18 PM

Transcript of Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf ·...

Page 1: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Reproducible Reportswith knitr and RMarkdownYihui Xie, RStudio

11/22/2014 @ UPenn, The Warren Center

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

1 of 46 1/15/15 2:18 PM

Page 2: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

An appetizer

Run the app below (your web browser may requestaccess to your microphone).

http://bit.ly/upenn-r-voice

Or just use this: https://yihui.shinyapps.io/voice/

install.packages("shiny")

2/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

2 of 46 1/15/15 2:18 PM

Page 3: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Overview andIntroduction

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

3 of 46 1/15/15 2:18 PM

Page 4: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

I know you click, click, Ctrl+C andCtrl+V

4/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

4 of 46 1/15/15 2:18 PM

Page 5: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

But imagine you hear these wordsafter you finished a project

Please do that again! (sorry we made a mistake in thedata, want to change a parameter, and yada yada)

http://nooooooooooooooo.com

5/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

5 of 46 1/15/15 2:18 PM

Page 6: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Basic ideas of dynamic documents

code + narratives = report

i.e. computing languages + authoring languages

an example

·

·

We built a linear regression model.

```{r}fit <- lm(dist ~ speed, data = cars)b <- coef(fit)plot(fit)```

The slope of the regression is `r b[1]`.

·

6/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

6 of 46 1/15/15 2:18 PM

Page 7: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Automation! Automation!Automation!

7/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

7 of 46 1/15/15 2:18 PM

Page 8: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Documentation! Documentation!

8/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

8 of 46 1/15/15 2:18 PM

Page 9: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Tools

WEB (Donald Knuth, Literate Programming)

Noweb (Norman Ramsey)

Sweave (Friedrich Leisch and R-core)

knitr (me and contributors)

odfWeave (Max Kuhn, OpenOffice)

·

Pascal + LaTeX-

·

·

R + LaTeX

extensible, in the sense that you copy 700 lines ofcode to extend 3 lines

cacheSweave, pgfSweave, weaver, …

-

-

-

·

·

·

9/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

9 of 46 1/15/15 2:18 PM

Page 10: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Tools (cont'd)

Org-mode (Emacs)

SASweave

Python tools

·

·

·

IPython

Dexy

PythonTeX

-

-

-

10/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

10 of 46 1/15/15 2:18 PM

Page 11: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

knitr

an R package (install.packages('knitr'))

document formats

editors

resources

·

·

.Rnw (R + LaTeX)

.Rmd (R + Markdown)

any computing language + any authoring language

-

-

-

·

RStudio, LyX, …-

·

http://yihui.name/knitr

Dynamic Documents with R and knitr (Chapman &Hall, 2013)

-

-

11/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

11 of 46 1/15/15 2:18 PM

Page 12: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

The knitr book

12/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

12 of 46 1/15/15 2:18 PM

Page 13: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

As an R package

if (!require("knitr")) install.packages("knitr")library(knitr)knit("your-document.Rmd") # compiles a document

13/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

13 of 46 1/15/15 2:18 PM

Page 14: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Minimal examples

report = text (prose, narrative) + code

code chunk = chunk header (chunk options) + code

02-minimal.Rmd

03-minimal.Rnw

https://github.com/yihui/knitr-examples/

the RStudio support

·

·

·

·

·

·

14/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

14 of 46 1/15/15 2:18 PM

Page 15: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

knitr Features

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

15 of 46 1/15/15 2:18 PM

Page 16: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Text output

echo: TRUE/FALSE, c(i1, i2, …), -i3

results: markup, hide, hold, asis

collapse: TRUE/FALSE

warning, error, message

strip.white

include

how to generate tables

demo: 07-test.Rmd

·

·

·

·

·

·

·

·

16/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

16 of 46 1/15/15 2:18 PM

Page 17: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Graphics

dev, dev.args, fig.ext

fig.width, fig.height

out.width, out.height, fig.retina

fig.cap

fig.path

fig.keep

fig.show

demo: 08-graphics.Rmd

·

PDF, PNG, …

tikz

-

-

·

·

·

·

·

·

·

17/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

17 of 46 1/15/15 2:18 PM

Page 18: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Caching

basic idea: use cache if source is not modified

implementation: digest

demo: 09-cache.Rmd

·

·

·

18/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

18 of 46 1/15/15 2:18 PM

Page 19: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Foreign language engines

19/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

19 of 46 1/15/15 2:18 PM

Page 20: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Foreign language engines

the chunk option engine

shell scripts

Python

Julia (experimental)

the runr package (experimental)

demo: 12-python.Rmd, 14-julia.Rmd

·

·

·

·

names(knitr::knit_engines$get())

## [1] "awk" "bash" "coffee" "gawk" "groovy" ## [6] "haskell" "node" "perl" "python" "Rscript" ## [11] "ruby" "sas" "scala" "sed" "sh" ## [16] "zsh" "highlight" "Rcpp" "tikz" "dot" ## [21] "c" "fortran" "asy" "cat" "asis"

·

·

20/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

20 of 46 1/15/15 2:18 PM

Page 21: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

R Markdown (v2)

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

21 of 46 1/15/15 2:18 PM

Page 22: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Original Markdown

primarily for HTML

paragraphs, # headers, > blockquotes

phrase _emphasis_

- lists

[links](url)

![images](url)

code blocks

·

·

·

·

·

·

·

22/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

22 of 46 1/15/15 2:18 PM

Page 23: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Pandoc's Markdown

markdown extensions·

tables

LaTeX math $\sum_{i=1}^n \alpha_i$ =

YAML metadata

raw HTML/LaTeX

footnotes ^[A footnote here.]

citations [@joe2014]

-

- ∑ni=1 αi

-

-

<div class="my-class"> ![image](url)</div>

_emphasis_ and \emph{emphasis}

-

-

23/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

23 of 46 1/15/15 2:18 PM

Page 24: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Pandoc's Markdown (cont'd)

types of output document·

LaTeX/PDF

beamer

HTML

ioslides

reveal.js

Word (MS Word, OpenOffice)

E-books

-

-

-

-

-

-

-

-

24/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

24 of 46 1/15/15 2:18 PM

Page 25: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

The rmarkdown package

http://rmarkdown.rstudio.com

http://www.rstudio.com

RStudio IDE has included Pandoc binaries

can be used as a standalone package as well (requireseparate Pandoc installation)

·

·

·

·

library(rmarkdown)render('input.Rmd')render('input.Rmd', pdf_document())render('input.Rmd', word_document())render('input.Rmd', beamer_presentation())render('input.Rmd', ioslides_presentation())

25/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

25 of 46 1/15/15 2:18 PM

Page 26: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

YAML metadata

This is equivalent to:

---title: "Sample Document"output: html_document: toc: true theme: united---

rmarkdown::render('input.Rmd', html_document(toc = TRUE, theme = 'united'))

26/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

26 of 46 1/15/15 2:18 PM

Page 27: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

What is html_document()

str(rmarkdown::html_document(), 2)

## List of 6## $ knitr :List of 3## ..$ opts_knit : NULL## ..$ opts_chunk:List of 5## ..$ knit_hooks: NULL## $ pandoc :List of 5## ..$ to : chr "html"## ..$ from : chr "markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_ba## ..$ args : chr [1:8] "--smart" "--email-obfuscation" "none" "--self-contained" .## ..$ keep_tex: logi FALSE## ..$ ext : NULL## $ keep_md : logi FALSE## $ clean_supporting: logi TRUE## $ pre_processor :function (...) ## $ post_processor :function (metadata, input_file, output_file, clean, verbose) ## - attr(*, "class")= chr "rmarkdown_output_format"

27/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

27 of 46 1/15/15 2:18 PM

Page 28: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

When in doubt, check out thedocumentation

e.g. what are the available options for html_document?see

http://rmarkdown.rstudio.com

·

?rmarkdown::html_document

·

28/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

28 of 46 1/15/15 2:18 PM

Page 29: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Output format is extensible

my_nice_document() is your own function that returns alist of knitr and Pandoc options. You are recommendedto put this function in an R package, and useMyPKG::my_nice_document for the output field.

title: "Sample Document"output: my_nice_document: fig_width: 8 toc: true

29/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

29 of 46 1/15/15 2:18 PM

Page 30: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Word template?

see ?rmarkdown::word_document

change the styles in a Word document created byPandoc, and use this document as the "referencedocument"

·

·

30/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

30 of 46 1/15/15 2:18 PM

Page 31: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

RStudio IDE support

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

31 of 46 1/15/15 2:18 PM

Page 32: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

You do not have to remembereverything

new markdown document wizard

setting YAML metadata

one-click compilation

navigation between Rmd source and slides

·

·

·

·

32/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

32 of 46 1/15/15 2:18 PM

Page 33: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Applications

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

33 of 46 1/15/15 2:18 PM

Page 34: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Websites and blogs

the UCLA R Tutorial website

Jekyll

WordPress

·

e.g. http://www.ats.ucla.edu/stat/r/modules/prob_dist.htm

-

·

blog like a hacker

based on Markdown, supported by Github

Rcpp gallery: http://gallery.rcpp.org

-

-

-

·

http://yihui.name/knitr/demo/wordpress/

the shinyWP package (under development)https://github.com/yihui/shinyWP

-

-

34/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

34 of 46 1/15/15 2:18 PM

Page 35: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

R Package vignettes

Gentleman and Temple Lang (2004)

one R package to rule them all!

data, R, man, tests, demo, src, vignettes

VignetteBuilder: knitr in DESCRIPTION

\VignetteEngine{knitr::knitr} in vignettes

see details

·

·

·

·

·

·

35/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

35 of 46 1/15/15 2:18 PM

Page 36: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Learn what other cool kids aredoing

courses, blog posts, workshops, papers, R packages, …

http://yihui.name/knitr/demo/showcase/

·

·

36/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

36 of 46 1/15/15 2:18 PM

Page 37: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Miscellaneous

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

37 of 46 1/15/15 2:18 PM

Page 38: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Reproducible research

keyword: automation

the Duke Saga: http://www.economist.com/node/21528593

not easy for large projects

·

·

·

38/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

38 of 46 1/15/15 2:18 PM

Page 39: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Repeat: not easy

39/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

39 of 46 1/15/15 2:18 PM

Page 40: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Markdown or LaTeX?

LaTeX: precise control, full complexity, horriblereadability

Markdown: simple, simple, simple

·

·

\section{Introduction}

We did a \emph{cool} study,and our main findings:

\begin{enumerate}\item You can never remember how to escape backslashes.\item A dollar sign is \$, an ampersand \&, and a \textbackslash{}.\item How about ~? Use $\sim$.\end{enumerate}

# Introduction

We did a _cool_ study, andour main findings:

1. You do not need to remember a lot of rules.2. A dollar sign is $, an ampersand is &, and a backslash \.3. A tilde is ~.

Write content instead ofmarkup languages.

40/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

40 of 46 1/15/15 2:18 PM

Page 41: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Or a graphical comparison

LaTeX

Markdown

41/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

41 of 46 1/15/15 2:18 PM

Page 42: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

RPubs

http://rpubs.com

forget about reproducible research, because you aredoing it unconsiously

·

·

42/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

42 of 46 1/15/15 2:18 PM

Page 43: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

Is Markdown too simple?probably, but the real question is

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

43 of 46 1/15/15 2:18 PM

Page 44: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

How much do you want?do you really want that word to be in \textbf{\textsf{}}?

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

44 of 46 1/15/15 2:18 PM

Page 45: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

To print or not to print, that is thequestion

LaTeX is for printing

HTML is not as powerful in terms of typesetting (notbad either!), but is excellent for interaction

examples

·

·

·

the docco_classic style

gitbook

-

-

45/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

45 of 46 1/15/15 2:18 PM

Page 46: Reproducible Reports with knitr and R Markdown - DiTragliaditraglia.com/pdf/yihui2.pdf · Reproducible Reports with knitr and R Markdown Yihui Xie, ... Dynamic Documents with R and

The goal

You have done the hard work of research, data collection,and analysis, etc. We hope the last step can be easier.

46/46

Reproducible Reports with knitr and R Markdown https://dl.dropboxusercontent.com/u/15335397/slides/2014-UPe...

46 of 46 1/15/15 2:18 PM