R Knitr - generating reports

3.013 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
3.013
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
23
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

×