Verwendung von KnitR

Bearbeiten

Wir werden die Erstellung eines KnitR-Dokuments an einem einfachen Beispiel erklären. Wir werden uns jeden Teil dieses einfachen Beispiels ansehen und die hier verwendeten neuen Funktionen erklären. Ein KnitR-Dokument besteht im Wesentlichen aus zwei Arten von Text:

  • Text, der mit der Auszeichnungssprache R formatiert werden kann, ganz ähnlich wie die Mediawiki-Auszeichnungssprache, die zur Formatierung von Wikiversity-Artikeln verwendet wird.
  • R-Code-Schnipsel, die aus R-Code bestehen, der ausgeführt wird, wenn das Dokument gerendert wird

Der erste Teil unseres Beispieldokuments sieht wie folgt aus

---
title: "Descriptive Statistics of 10000 dice rolls - a simple KnitR example"
author: "Martin Papke"
date: "22 August 2018"
output: pdf_document
---

Am Anfang jedes KnitR-Dokuments geben wir einen Titel und einen Autor an. Außerdem müssen wir dem Interpreter mitteilen, in welcher Form KnitR das Dokument erstellen soll. Hier erstellen wir ein PDF-Dokument. Andere mögliche Ausgaben sind Word- und HTML-Dokumente.

Als nächstes laden wir die benötigten Pakete in einem R-Code-Schnipsel. Die Code-Schnipsel werden durch ```` von den Textteilen getrennt.

 
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(knitr)
library(readr)
library(dplyr)
library(ggplot2)
```

Am Anfang eines Codeschnipsels müssen wir in geschweiften Klammern die verwendete Sprache (hier: R) und einen Namen für den Codeschnipsel angeben. Wir können hier zusätzliche Optionen wie include=FALSE angeben, was verhindert, dass R diesen Codeschnipsel in das Ausgabedokument einfügt. Standardmäßig sind die Codeschnipsel per Default enthalten.

# A simple KnitR example

## Data import
[...]

Überschriften werden mit # und ## für die Überschriftenebenen 1 und 2 markiert.

## Statistics

Now we can do some statistics 
``` {r statistics}
  dicemean <- mean(dice)
  dicemedian <- median(dice)
```
So, the mean of our dice throws is $\bar x = `r dicemean`$ and the median is `r dicemedian`. We 
know count the absolute frequencies of the dice results: 
```{r statistics2}
  dicetable <- table(dice)
```

In diesem Teil ist zu sehen, dass LaTeX Markup im Text verwendet werden kann, um Mathematische Formeln darzustellen. Wir geben auch an, wie ein Ergebnis eines R-Befehls in das Dokument eingebunden werden soll, nämlich durch `r-Befehl`. Auf diesem Weg können beispielsweise die Ergebnisse von Berechnungen in unser Dokument einfließen, wie es beispielsweise mit dem Mittelwert und dem Median gemacht wurde.

## Plots
In KnitR, plots can be done into the document, just call the usual R plot command 
```{r plot}
  xy <- data.frame(dicetable)
  ggplot(data=xy, aes(x=dice, y=Freq)) + geom_bar(stat="identity")
```

Abbildungen können in ein Dokument einfach durch gewöhnlichen R-Code eingebunden werden, wie im Beispiel gezeigt wurde.

Ein statistisches Beispiel - Prüfung auf Unabhängigkeit

Bearbeiten

Wir werden unsere Würfeldaten wiederverwenden, um zu prüfen, ob die geraden und die ungeraden Würfe unabhängig sind, siehe hier. Nach dem Laden der Daten, wie oben beschrieben, verwenden wir R's internen  -test, um die Unabhängigkeit zu überprüfen, indem wir

  # test the contingency table 
  chi <- chisq.test(tbl)

Nun können wir prüfen, ob wir eine (hohe) Signifikanz der Unabhängigkeit haben, in dem wir den $p$-Wert betrachten:

 
  p <- chi$p.value
  if (p < 0.01) {
    "high significance for independene"
  } else if (p < 0.05) {
    "significance for independence"
  } else {
    "no significance for independence"
  }