SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
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 Markdown (Rmd) = R + Markdown
•  R code chunks can be directly included
•  Include R code between the following
tags
```{r}
# Some R Code here
```
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
von y1 auf x.!
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 der ausgegeben Grafiken)
Package options
Betreffen Grundlegendes des knitr
Pakets (Ausgabebreite des Codes)
http://yihui.name/knitr/options
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}!
plot(1:10, 1:10)!
```!
Argumente
werden durch ein
Komma getrennt
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
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
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
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)!
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)!
(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
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,
DOCX, TeX, ODT,
Markdown usw.
http://johnmacfarlane.net/pandoc/index.html
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/
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 knitr Standard-CSS ist aber eher
funktional als ästhetisch
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.!
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')

!
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/
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 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/
Ein theme anwenden (nur für PDFs)
<<echo=FALSE>>=!
opts_knit$set(out.format = "latex")!
knit_theme$set("autumn")!
@!

knit_theme$get()

# alle themes!
Beispiel Layout aus meinem Buch

Contenu connexe

Similaire à R Knitr - generating reports

TYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredTextTYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredTextPeter Linzenkirchner
 
Dokumentation schreiben kann spass machen
Dokumentation schreiben kann spass machenDokumentation schreiben kann spass machen
Dokumentation schreiben kann spass machenSebastian Hempel
 
mongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - GrundlagenmongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - Grundlageninovex GmbH
 
Docbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XMLDocbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XMLPeter Eisentraut
 
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin Grauel
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin GrauelOSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin Grauel
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin GrauelNETWAYS
 
Anwendungsbeispiele des (mobilen) Taskmanagementsystems key2operate
Anwendungsbeispiele des (mobilen) Taskmanagementsystems key2operateAnwendungsbeispiele des (mobilen) Taskmanagementsystems key2operate
Anwendungsbeispiele des (mobilen) Taskmanagementsystems key2operateadvenco Consulting GmbH
 
ORCA AVA - Startklar in 10 Minuten
ORCA AVA - Startklar in 10 MinutenORCA AVA - Startklar in 10 Minuten
ORCA AVA - Startklar in 10 MinutenORCA Software GmbH
 
Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Noël Bossart
 
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...frankstaude
 
Einführung XHTML CSS JS // IT 07-10
Einführung XHTML CSS JS // IT 07-10Einführung XHTML CSS JS // IT 07-10
Einführung XHTML CSS JS // IT 07-10Noël Bossart
 
Distant reading mit voyant
Distant reading mit voyantDistant reading mit voyant
Distant reading mit voyantHenning Urs
 
Werksatz mit InDesign @Swiss Publishing Week 2011
Werksatz mit InDesign @Swiss Publishing Week 2011 Werksatz mit InDesign @Swiss Publishing Week 2011
Werksatz mit InDesign @Swiss Publishing Week 2011 Gregor Fellenz
 
Dart (Teil II der Tour de Dart)
Dart (Teil II der Tour de Dart)Dart (Teil II der Tour de Dart)
Dart (Teil II der Tour de Dart)Nane Kratzke
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
 
Versionskontrolle in Machine-Learning-Projekten
Versionskontrolle in Machine-Learning-ProjektenVersionskontrolle in Machine-Learning-Projekten
Versionskontrolle in Machine-Learning-Projektencusy GmbH
 

Similaire à R Knitr - generating reports (17)

TYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredTextTYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredText
 
Dokumentation schreiben kann spass machen
Dokumentation schreiben kann spass machenDokumentation schreiben kann spass machen
Dokumentation schreiben kann spass machen
 
mongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - GrundlagenmongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - Grundlagen
 
Docbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XMLDocbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XML
 
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin Grauel
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin GrauelOSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin Grauel
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin Grauel
 
Anwendungsbeispiele des (mobilen) Taskmanagementsystems key2operate
Anwendungsbeispiele des (mobilen) Taskmanagementsystems key2operateAnwendungsbeispiele des (mobilen) Taskmanagementsystems key2operate
Anwendungsbeispiele des (mobilen) Taskmanagementsystems key2operate
 
ORCA AVA - Startklar in 10 Minuten
ORCA AVA - Startklar in 10 MinutenORCA AVA - Startklar in 10 Minuten
ORCA AVA - Startklar in 10 Minuten
 
Einführung in Docker
Einführung in DockerEinführung in Docker
Einführung in Docker
 
Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11
 
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...
 
Einführung XHTML CSS JS // IT 07-10
Einführung XHTML CSS JS // IT 07-10Einführung XHTML CSS JS // IT 07-10
Einführung XHTML CSS JS // IT 07-10
 
Distant reading mit voyant
Distant reading mit voyantDistant reading mit voyant
Distant reading mit voyant
 
Werksatz mit InDesign @Swiss Publishing Week 2011
Werksatz mit InDesign @Swiss Publishing Week 2011 Werksatz mit InDesign @Swiss Publishing Week 2011
Werksatz mit InDesign @Swiss Publishing Week 2011
 
Dart (Teil II der Tour de Dart)
Dart (Teil II der Tour de Dart)Dart (Teil II der Tour de Dart)
Dart (Teil II der Tour de Dart)
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
 
Versionskontrolle in Machine-Learning-Projekten
Versionskontrolle in Machine-Learning-ProjektenVersionskontrolle in Machine-Learning-Projekten
Versionskontrolle in Machine-Learning-Projekten
 
C++ 1
C++  1C++  1
C++ 1
 

Dernier (7)

Welche KI-Kompetenzen brauchen Lehrpersonen?!
Welche KI-Kompetenzen brauchen Lehrpersonen?!Welche KI-Kompetenzen brauchen Lehrpersonen?!
Welche KI-Kompetenzen brauchen Lehrpersonen?!
 
Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-EssenWirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
 
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdfLAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
 
1029-Danh muc Sach Giao Khoa khoi 12.pdf
1029-Danh muc Sach Giao Khoa khoi 12.pdf1029-Danh muc Sach Giao Khoa khoi 12.pdf
1029-Danh muc Sach Giao Khoa khoi 12.pdf
 
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_EssenAngewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
 
1029-Danh muc Sach Giao Khoa khoi 11.pdf
1029-Danh muc Sach Giao Khoa khoi 11.pdf1029-Danh muc Sach Giao Khoa khoi 11.pdf
1029-Danh muc Sach Giao Khoa khoi 11.pdf
 
Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.
 

R Knitr - generating reports

  • 1. Reports erstellen Mark Heckmann University of Bremen, Germany www.markheckmann.de Version Januar, 2014 © CC BY-NC 2.0 DE
  • 2. Im R Buch Eine Einführung in knitr finden Sie in meinem R Buch im Kapitel Ergebnisberichte erstellen
  • 4. Creating reports in R RStudio +
  • 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. Neues R Markdown Doc(.Rmd) Neues .Rmd
  • 9. Your turn Lege eine neues R Markdown Dokument an. Nutze den Datensatz anscombe. Berechne eine lineare Einfachregression von y1 auf x.!
  • 11.
  • 13. Your turn Erweitere das R Dokument um Überschriften, Zwischenstriche, eine Aufzählung und eine Tabelle. !
  • 14. In-Line R Code R Code kann durch andere Tags direkt im Fließtext ausgewertet werden. Das Ergebnis ist `r 1+5`!
  • 16. 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
  • 17. Chunk Optionen echo: soll der R-Code angezeigt werden? ```{r echo=FALSE}! 1+1! ```!
  • 18. 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
  • 19. Chunk Optionen comment: Zeichen vor der R-Ausgabe ! ```{r comment=“”}! !plot(1:10, 1:10)! ```!
  • 20. Chunk Optionen message: Infos zum Laden des Pakets anzeigen? ! ```{r message=FALSE}! library(car)! ```!
  • 21. 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
  • 22. 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
  • 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. 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)!
  • 25. (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
  • 26. Ich will aber ein Word Dokument haben!!
  • 27. 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
  • 28. 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/
  • 30. 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
  • 31. 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.!
  • 32. 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') !
  • 33. 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/
  • 35. +
  • 36. Select knitr RStudio sagen, dass es knitr nutzen soll, um das PDF herzustellen
  • 37. Neues R Sweave Dokument (.Rnw) Neues .Rnw
  • 38. Press to generate PDF Insert tags R chunk tags ! Achtung: eine LaTeX engine muss installiert sein (z.B. MikTeX, MacTeX)
  • 40. 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/
  • 41. Ein theme anwenden (nur für PDFs) <<echo=FALSE>>=! opts_knit$set(out.format = "latex")! knit_theme$set("autumn")! @! knit_theme$get() # alle themes!
  • 42. Beispiel Layout aus meinem Buch