Chi-Quadrat-Test in R

Im heutigen Artikel gehen wir darauf ein, wie ein Chi-Quadrat-Test in R umgesetzt wird. Im Falle zweier kategorialer Merkmale wird dieser häufig bei der Statistik-Beratung verwendet.

Die Daten

Für die Analyse mittels Chi-Quadrat-Test werden wir den Datensatz Titanic aus dem Paket datasets benutzen. Dabei lesen wir das Paket datasets wie gewohnt mit library(datasets) ein. Kommender Screenshot zeigt uns den Aufbau des Datensatzes beziehungsweise des Objekts Titanic.

Wir wollen den Zusammenhang zwischen dem Überleben Survived und der Reiseklasse beziehungsweise Crew Class untersuchen. Um uns hierzu aus dem Objekt Titanic eine Kreuztabelle mit dem Überleben gegen die Klassenzugehörigkeit zu erzeugen, ist es sinnvoll, sich zunächst mit der Beschaffenheit des Objekts auseinander zusetzen. Kommender Screenshot zeigt die Struktur des Objekts. Es handelt sich hierbei um einen table mit Listeneinträgen. Dabei sind die Einträge der Liste gerade die vier Merkmale Class, Sex, Age und Survived.

Kommendes Bild zeigt den Code um die oben erwähnte Kreuztabelle zu berechnen. Hierbei verwenden wir die Funktion apply. Das erste Element im Funktionsaufruf ist dabei das Objekt Titanic. Als margin wurde der Vektor c(4, 1) angegeben. Damit werden das vierte und das erste Listenelement angewählt. Also Survived und Class. Weiterhin wenden wir die Funktion sum auf Titanic an. Somit erhalten wir die folgende Kreuztabelle.

Die Analyse

Mittels des Befehls chisq.test() wird der Chi-Quadrat-Test berechnet. Hierbei kann das Objekt unter anderem als table an die Funktion übergeben werden. Der Chi-Quadrat-Test liefert hierbei ein signifikantes Ergebnis, \chi^2(3)=190,4, p = 0,000. Weiterhin ist die Annahme, dass alle erwarteten Häufigkeiten größer 5 sind, erfüllt. Die Berechnung der erwarteten Häufigkeiten erfolgt in R wie folgt. Wir hatten zunächst den Chi-Quadrat-Test in dem Objekt test abgespeichert. Hierauf haben wir uns mit test$expected die erwarteten Häufigkeiten ausgegeben lassen.

Möchten wir die Stärke des Zusammenhangs beurteilen, so bietet sich Cramer's V an. Dieses ist im Paket questionr implementiert. Die Funktion cramer.v berechnet jenes. Dabei ergab sich ein Cramer's V von 0,29. Somit ist der Zusammenhang unbedeutsam.