---
lesson: Statistik1
knitr:
  opts_chunk: 
    collapse: false 
---

# Statistik 1: Demo

[Demoscript herunterladen (.R)](../purl/Statistik1_Demo.R){.dld}

[Demoscript herunterladen (.qmd)](../purl/Statistik1_Demo.qmd){.dld}

## t-Test

### Daten generieren und anschauen

```{r}
# Je 10 Messwerte für die Sorten Andro und Bulli zu einem Data Frame im long-Format verbinden 

# Messwerte von der Sorte Andro
a <- c(20, 19, 25, 10, 8, 15, 13, 18, 11, 14) 

# Messwerte von der Sorte Bulli
b <- c(12, 15, 16, 7, 8, 10, 12, 11, 13, 10) 

# Bezeichnug der Sorten in der Tabelle
cultivar <- factor(rep( c("Andro", "Bulli"), each = 10))

# Data frame erstellen 
blume <- data.frame("cultivar" = cultivar, "size" = c(a, b) ) 
```

```{r}
# Boxplots
library(ggplot2)

ggplot(blume, aes(x = cultivar, y = size)) +
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point") # Mittelwerte hinzufügen
```

```{r}
# Histogramme
ggplot(blume, aes(x = size)) +
  geom_histogram(binwidth = 2) +
  facet_wrap(~ cultivar)
```

### Zweiseitiger t-Test

Links der Tilde ("\~") steht immer die abhängige Variable, rechts die erklärende(n) Variable(n)

```{r}
# Alternativ kann man die Werte auch direkt in die t.test()-Funktion eingeben:
# t.test(a, b)

# Zweiseitig "Test auf Andro ≠ Bullie" (default)
t.test(size ~ cultivar, data = blume) 
```

### Einseitiger t-Test

```{r}
# Reihenfolge factor level Cultivar
levels(blume$cultivar)

# Einseitig "Test auf Andro > Bulli"
t.test(size ~ cultivar, alternative = "greater",  data = blume)

# Einseitig "Test auf Andro < Bulli"
t.test(size ~ cultivar, alternative = "less",  data = blume) 
```

### Klassischer t-Test vs. Welch Test

```{r}
# Varianzen gleich: klassischer t-Test
t.test(size ~ cultivar, var.equal = TRUE, data = blume)

# Varianzen ungleich: Welch's t-Test (siehe Titelzeile des R-Outputs!)
t.test(size ~ cultivar, data = blume) # dasselbe wie var.equal = FALSE
```

### Gepaarter t-Test

Gepaarter t-Test: erster Wert von Andro wird mit erstem Wert von Bullie gepaart, zweiter Wert von Andro mit zweitem von Bullie ect.

```{r}
# für gepaarten t-Test funktioniert Notation "size ~ cultivar" nicht (mehr)
t.test(blume$size[blume$cultivar == "Andro"], 
       blume$size[blume$cultivar == "Bulli"], 
       paired = TRUE)
```

### Nicht-parametrische Alternative zum t-Test

```{r}
wilcox.test(size ~ cultivar, data = blume) 
```


## Binomialtest

In Klammern übergibt man die Anzahl der Erfolge und die Stichprobengrösse

```{r}
# Anzahl gewählte Frauen im Nationalrat (≙ 38.5 %; Stand 2023)
binom.test(77, 200, p = 0.5) 

# Anzahl gewählte Männer im Nationalrat (≙ 61.5 %; Stand 2023)
binom.test(123, 200, p = 0.5) 
```

Alternativ können auch die Anzahl gewählter Manner und Frauen übergeben werden. Die erste Zahl wird als Anzahl der Erfolge definiert die Stichprobengrösse wird autmoatisch ausgerechnet

```{r}
binom.test( c(123, 77), p = 0.5) 

# Entspricht die Anzahl Kandidatinnen (≙ 41 %; Stand 2023) dem Anteil Frauen 
# in der Bevölkerung ?
binom.test( c(2399, 3500), p = 0.5) 

# Entspricht der Anteil gewählter Frauen dem Anteil kandidierender Frauen ?
binom.test(77, 200, p = 0.407) 
```

## Chi-Quadrat-Test & Fishers Test

### Direkter Test in R (dazu Werte als Matrix nötig)

```{r}
# Matrix mit Haarfarbe&Augenfarbe-Kombinationen erstellen
# 38 blond & blau, 14 dunkel & blau, 11 blond & braun, 51 dunkel & braun
count <- matrix( c(38, 14, 11, 51), nrow = 2)
count 

# Benennen für Übersicht
rownames(count) <- c("blond", "dunkel") 
colnames(count) <- c("blau", "braun")

count

# Tests durchführen
chisq.test(count)
fisher.test(count)
```
