Statistik mit R & RStudio
35 Chi-Quadrat-Test mit R (Chi-Quadrat-Unabhaengigkeits-Test)
Mehrfelder Chi-Quadrat-Test (Chi-Quadrat-Unabhängigkeits-Test)
Ein Chi-Quadrat-Unabhängigkeitstest ist ein spezieller Typ vom Chi-Quadrat-Test, der verwendet wird, um festzustellen, ob ein signifikanter Zusammenhang zwischen zwei kategorialen Variablen besteht. Der Test basiert auf der Annahme, dass die beiden Variablen unabhängig sind, und er vergleicht die beobachteten Häufigkeiten der verschiedenen Kombinationen von Kategorien in einer Kontingenztabelle mit den erwarteten Häufigkeiten unter der Annahme der Unabhängigkeit.
In R kann der Chi-Quadrat-Unabhängigkeitstest mit der Funktion chisq.test() durchgeführt werden. Als Eingabe benötigt die Funktion eine Kontingenztabelle, eine Tabelle, die die Häufigkeiten der verschiedenen Kategorien von zwei oder mehr Variablen zeigt.
Es ist wichtig zu beachten, dass der Chi-Quadrat-Test voraussetzt, dass der Stichprobenumfang groß genug ist und dass die erwarteten Häufigkeiten nicht zu klein sind (nicht kleiner als 5 pro Zelle). Wenn der Stichprobenumfang gering ist oder die erwarteten Häufigkeiten niedrig sind, ist der Chi-Quadrat-Test möglicherweise nicht geeignet und es sollten stattdessen andere Tests, wie der exakte Test von Fisher, verwendet werden.
Beispiel 1
Wir wollen herausfinden, ob es einen Zusammenhang gibt zwischen dem Geschlecht (weiblich, männlich) und der bevorzugten Schokoladensorte (Vollmilch, Vollnuss und Nugat) oder ob diese Variablen (stochastisch) unabhängig sind. Mit anderen Worten: Gibt es einen Unterschied zwischen Männern und Frauen bezüglich Schokoladensorten-Konsum?
Daten einlesen
Wir erzeugen den Datensatz – Die Werte zeigen den Konsum dreier Sorten in Gramm/Monat
Männer = c(105, 127, 97)
Frauen = c(103, 111, 133)
Jetzt wird eine Tabelle erzeugt
Schokolade = as.table(rbind(Männer, Frauen))
Jetzt bekommen die Spalten noch Namen
colnames(Schokolade) <- c('Vollmilch', 'Vollnuss', 'Nugat')
Berechnung der Randsummen
Schauen wir uns die Daten zunächst einmal an:
Schokolade
## Vollmilch Vollnuss Nugat
## Männer 105 127 97
## Frauen 103 111 133
Sie können sich in R auch die Randsummen berechnen lassen, dazu nutzen wir die addmargins Funktion.
addmargins(Schokolade)
## Vollmilch Vollnuss Nugat Sum
## Männer 105 127 97 329
## Frauen 103 111 133 347
## Sum 208 238 230 676
Test durchführen
Jetzt kommt der Test
chisq.test(Schokolade)
##
## Pearson's Chi-squared test
##
## data: Schokolade
## X-squared = 6.2548, df = 2, p-value = 0.04383
Interpretation
Auch dieser Test ist Chi-Quadrat-Verteilt. Aus dem Chi-Quadrat Wert von 6,25 bei 2 Freiheitsgraden ergibt sich ein p-Wert von 0,044. Der Test wird also auf dem 5 %-Niveau signifikant. Wir können also die H0 verwerfen. Zur Erinnerung:
H0: Die beiden Variablen sind voneinander stochastisch unabhängig.
H1: Es gibt einen irgendwie gearteten Zusammenhang zwischen den Merkmalsausprägungen der einen Variable und der Ausprägungen der anderen.
Das heißt, hier liegt keine stochastische Unabhaengigkeit vor, oder anders gesagt, es gibt einen Zusammenhang zwischen der Schokoladenpräferenz und dem Geschlecht.
Ermittlung der Richtung der Unterschiede
Leider sagt uns der Test nicht, wie der Zusammenhang aussieht. Hier gilt es nur, sich die relativen Prozente auszugeben. Hierfür können wir den Befehl prop.table nutzen. Hinweis: Um zellenweise Anteile zu bekommen, hängt man im prop.table() Befehl nach den Variablen ein margin= “1” an, für Spaltenprozente “2”. Das Ergebnis können wir noch als gerundete Prozentwerte darstellen mit der round Funktion und “2” mit zwei Nachkommastellen.
round(prop.table(Schokolade, margin = 2),2)*100
## Vollmilch Vollnuss Nugat
## Männer 50 53 42
## Frauen 50 47 58
Die Tabelle zeigt, dass die größten Unterschiede bei “Nugat” sind. Frauen haben hier einen deutlich höheren Anteil.
In diesem Video zeige ich, wie das in R funktioniert:
Übung
Nutzen Sie den Datensatz WPStudis.
Frage: Gibt es einen Zusammenhang zwischen Geschlecht und Brillentraegern?
Hinweis: Wenn die Daten als Variablen vorliegen ist das Vorgehen identisch, nur die Notation ändert sich wie folgt:
chisq.test(Variable1,Variable2)
Die Lösung zu dieser Übungsaufgabe gibt es im neuen Buch Statistik mit R & RStudio.