Reports
erstellen
Mark Heckmann
University of Bremen, Germany
www.markheckmann.de
Version Januar, 2014
© CC BY-NC 2.0 DE
Im R Buch

Eine Einführung in knitr
finden Sie in meinem R Buch
im Kapitel Ergebnisberichte
erstellen
out now!
Creating reports in R

RStudio

+
Using R markdown
•  Markdown is a lightweight language to
structure a document
•  Install knitr package to start
•  R Mark...
Neues R Markdown Doc(.Rmd)

Neues .Rmd
Press to
generate
document

Inser
tags

Chunk Tags !
Resultat
Your turn
Lege eine neues R Markdown
Dokument an. Nutze den
Datensatz anscombe. Berechne
eine lineare Einfachregression
vo...
Optionen
von
Markdown
http://www.rstudio.com/ide/docs/authoring/using_markdown
Your turn
Erweitere das R Dokument um
Überschriften, Zwischenstriche,
eine Aufzählung und eine
Tabelle. !
In-Line R Code
R Code kann durch andere Tags direkt
im Fließtext ausgewertet werden.

Das Ergebnis ist `r 1+5`!
Your turn
Erstelle folgende Zeile!
Zwei Arten von Optionen
Chunk options
Betreffen einzelnen R Chunk, können
sich für jeden Chunk unterscheiden (z.B.
Größe d...
Chunk Optionen
echo: soll der R-Code angezeigt
werden?
```{r echo=FALSE}!
1+1!
```!
Chunk Optionen
fig.width: Breite des Plots in inch
fig.width: Höhe des Plots in inch
!
```{r fig.width=10, fig.height=5}!
...
Chunk Optionen
comment:
Zeichen vor der R-Ausgabe
!
```{r comment=“”}!
!plot(1:10, 1:10)!
```!
Chunk Optionen

message:

Infos zum Laden des
Pakets anzeigen?

!

```{r message=FALSE}!
library(car)!
```!
Your turn
Erstelle einen Scatterplot
der Variablen x1 und y1
aus dem Datensatz
anscombe. Berechne
eine Regression. Achte
d...
Weitere chunk options
tidy

eval

Mehr ...

(Logisch). Soll der R-Code
gesäubert werden
(Einrückungen etc.)?
(Logisch). So...
Global chunk options
Die Chunk settings können auch global,
d.h. für alle chunks auf einmal verändert
werde.

!opts_chunk$...
Global chunk options
Die Chunk settings können auch global,
d.h. für alle chunks auf einmal verändert
werde.

!opts_chunk$...
(Global) package options
Die package settings können über die
Funktion opts_knit$set() verändert
werden

!opts_knit$set(wi...
Ich will aber
ein Word
Dokument
haben!!
Pandoc ist ein
Programm, das ein
Markup Format in
ein anderes
überführt. Pandoc
unterstützt sehr viele
Formate: PDF, HTML,...
Von Markdown zu Word/ODT mit Pandoc & knitr

library(knitr)!
!
pandoc('file.md', 'docx')
pandoc(‘file.md', 'odt')

# MS Wo...
Let‘s
get
styled!

Der Workflow
Neuer Look für mein HTML
Der Look der erzeugten HTML Datei wird
über CSS festgelegt, z.B.
h1 { !
font-size: 2.2em; !
}!
!
...
Das CSS ändern
Die einfachste Variante: An den Anfang
einer Markdown Datei das neue CSS
einzufügen (innerhalb von style Ta...
Alternative: CSS-Datei einbinden
Um eine HTML Datei mit einer eigenen CSS
Datei (custom.css) zu stylen kann das durch
das ...
Alternative: CSS-Datei einbinden
Will häufiger eine bestimmte CSS Datei
nutzen, kann dies für die die Dauer einer R
Sessio...
Vorher - Nachher
+
Select knitr

RStudio sagen, dass es
knitr nutzen soll, um das
PDF herzustellen
Neues R Sweave Dokument (.Rnw)

Neues .Rnw
Press to
generate
PDF

Insert
tags

R chunk
tags !

Achtung: eine LaTeX
engine muss installiert sein
(z.B. MikTeX, MacTeX)
Resultat
Die Chunk Options sind (fast) gleich
Die Chunk Options für .Rmd und .Rnw
sind weitgehend identisch. Es gibt einige
wenige ...
Ein theme anwenden (nur für PDFs)
<<echo=FALSE>>=!
opts_knit$set(out.format = "latex")!
knit_theme$set("autumn")!
@!

knit...
Beispiel Layout aus meinem Buch
R Knitr - generating reports
Nächste SlideShare
Wird geladen in …5
×

R Knitr - generating reports

2.142 Aufrufe

Veröffentlicht am

Reports erstellen mit dem knitr Paket

Veröffentlicht in: Bildung
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.142
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
20
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

R Knitr - generating reports

  1. 1. Reports erstellen Mark Heckmann University of Bremen, Germany www.markheckmann.de Version Januar, 2014 © CC BY-NC 2.0 DE
  2. 2. Im R Buch Eine Einführung in knitr finden Sie in meinem R Buch im Kapitel Ergebnisberichte erstellen
  3. 3. out now!
  4. 4. Creating reports in R RStudio +
  5. 5. Using R markdown •  Markdown is a lightweight language to structure a document •  Install knitr package to start •  R Markdown (Rmd) = R + Markdown •  R code chunks can be directly included •  Include R code between the following tags ```{r} # Some R Code here ```
  6. 6. Neues R Markdown Doc(.Rmd) Neues .Rmd
  7. 7. Press to generate document Inser tags Chunk Tags !
  8. 8. Resultat
  9. 9. Your turn Lege eine neues R Markdown Dokument an. Nutze den Datensatz anscombe. Berechne eine lineare Einfachregression von y1 auf x.!
  10. 10. Optionen von Markdown
  11. 11. http://www.rstudio.com/ide/docs/authoring/using_markdown
  12. 12. Your turn Erweitere das R Dokument um Überschriften, Zwischenstriche, eine Aufzählung und eine Tabelle. !
  13. 13. In-Line R Code R Code kann durch andere Tags direkt im Fließtext ausgewertet werden. Das Ergebnis ist `r 1+5`!
  14. 14. Your turn Erstelle folgende Zeile!
  15. 15. Zwei Arten von Optionen Chunk options Betreffen einzelnen R Chunk, können sich für jeden Chunk unterscheiden (z.B. Größe der ausgegeben Grafiken) Package options Betreffen Grundlegendes des knitr Pakets (Ausgabebreite des Codes) http://yihui.name/knitr/options
  16. 16. Chunk Optionen echo: soll der R-Code angezeigt werden? ```{r echo=FALSE}! 1+1! ```!
  17. 17. Chunk Optionen fig.width: Breite des Plots in inch fig.width: Höhe des Plots in inch ! ```{r fig.width=10, fig.height=5}! plot(1:10, 1:10)! ```! Argumente werden durch ein Komma getrennt
  18. 18. Chunk Optionen comment: Zeichen vor der R-Ausgabe ! ```{r comment=“”}! !plot(1:10, 1:10)! ```!
  19. 19. Chunk Optionen message: Infos zum Laden des Pakets anzeigen? ! ```{r message=FALSE}! library(car)! ```!
  20. 20. Your turn Erstelle einen Scatterplot der Variablen x1 und y1 aus dem Datensatz anscombe. Berechne eine Regression. Achte darauf, dass der R-Code im Output nicht sichtbar ist und die Größe des Plots angepasst wird. Ersetze das Zeichen vor der R-Ausgabe durch einen Smiley! Smiley
  21. 21. Weitere chunk options tidy eval Mehr ... (Logisch). Soll der R-Code gesäubert werden (Einrückungen etc.)? (Logisch). Soll der Code ausgeführt werden? http://yihui.name/knitr/ options
  22. 22. Global chunk options Die Chunk settings können auch global, d.h. für alle chunks auf einmal verändert werde. !opts_chunk$set! !opts_chunk$set(comment=NA, ! ! ! ! ! ! ! ! ! ! !tidy=FALSE)!
  23. 23. Global chunk options Die Chunk settings können auch global, d.h. für alle chunks auf einmal verändert werde. !opts_chunk$set! !opts_chunk$set(comment=NA, ! ! ! ! ! ! ! ! ! ! !tidy=FALSE)!
  24. 24. (Global) package options Die package settings können über die Funktion opts_knit$set() verändert werden !opts_knit$set(width=120)! ! Mehr: http://yihui.name/knitr/options
  25. 25. Ich will aber ein Word Dokument haben!!
  26. 26. Pandoc ist ein Programm, das ein Markup Format in ein anderes überführt. Pandoc unterstützt sehr viele Formate: PDF, HTML, DOCX, TeX, ODT, Markdown usw. http://johnmacfarlane.net/pandoc/index.html
  27. 27. Von Markdown zu Word/ODT mit Pandoc & knitr library(knitr)! ! pandoc('file.md', 'docx') pandoc(‘file.md', 'odt') # MS Word! # OpenDocument! http://yihui.name/knitr/demo/pandoc/
  28. 28. Let‘s get styled! Der Workflow
  29. 29. Neuer Look für mein HTML Der Look der erzeugten HTML Datei wird über CSS festgelegt, z.B. h1 { ! font-size: 2.2em; ! }! ! Das knitr Standard-CSS ist aber eher funktional als ästhetisch
  30. 30. Das CSS ändern Die einfachste Variante: An den Anfang einer Markdown Datei das neue CSS einzufügen (innerhalb von style Tags). <style>! h1 { ! !font-size:2.2em; ! ! !color:red;! }! </style>! ! Funktioniert, ist aber ein wenig clumsy.!
  31. 31. Alternative: CSS-Datei einbinden Um eine HTML Datei mit einer eigenen CSS Datei (custom.css) zu stylen kann das durch das Drücken des knitr Knopfes entstandenen Markdown Datei erneut mit dem Zusatz unsere CSS Datei zu nutzen, in HTML verwandelt werden require(markdown)! ! markdownToHTML('file.md', ’file.html', ! ! ! ! ! ! stylesheet='custom.css') !
  32. 32. Alternative: CSS-Datei einbinden Will häufiger eine bestimmte CSS Datei nutzen, kann dies für die die Dauer einer R Session durch Ausfühtung folgenden Befehls umgestellt werden. options(rstudio.markdownToHTML = ! function(inputFile, outputFile) { ! require(markdown)! markdownToHTML(inputFile, outputFile, ! ! ! ! ! ! stylesheet='custom.css') ! }! ) ! http://blogs.cetis.ac.uk/adam/2013/10/25/changing-style-knitr-and-markdown-in-rstudio/
  33. 33. Vorher - Nachher
  34. 34. +
  35. 35. Select knitr RStudio sagen, dass es knitr nutzen soll, um das PDF herzustellen
  36. 36. Neues R Sweave Dokument (.Rnw) Neues .Rnw
  37. 37. Press to generate PDF Insert tags R chunk tags ! Achtung: eine LaTeX engine muss installiert sein (z.B. MikTeX, MacTeX)
  38. 38. Resultat
  39. 39. Die Chunk Options sind (fast) gleich Die Chunk Options für .Rmd und .Rnw sind weitgehend identisch. Es gibt einige wenige Optionen die für jedes Format spezifisch sind: http://yihui.name/knitr/options http://blogs.cetis.ac.uk/adam/2013/10/25/changing-style-knitr-and-markdown-in-rstudio/
  40. 40. Ein theme anwenden (nur für PDFs) <<echo=FALSE>>=! opts_knit$set(out.format = "latex")! knit_theme$set("autumn")! @! knit_theme$get() # alle themes!
  41. 41. Beispiel Layout aus meinem Buch

×