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
```
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
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
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
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/
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!