Mit Zusammenhangsmaßen kannst du testen, ob und inwieweit zwei Variablen miteinander zusammenhängen. Als ein erstes Maß hast du in der Statistik-Vorlesung \(\chi^2\) kennengelernt, dass prüft, ob ein Zusammenhang vorliegt. Als weiteres Maß für die Stärke eines Zusammenhangs kennst du Cramer’s V.
Mit Kreuztabellen können Zusammenhänge zwischen zwei Variablen dargestellt werden. Dieser Zusammenhang kann auch mit dem \(\chi^2\)-Unabhängigkeitstest statistisch getestet werden.
Die Nullhypothese des \(\chi^2\)-Unabhängigkeitstest lautet:
Wir berechnen den Test mit der Funktion chisq.test()
und können dabei direkt das Objekt der Kreuztabelle nutzen:
chi1 <- chisq.test(mytable)
chi1
##
## Pearson's Chi-squared test
##
## data: mytable
## X-squared = 14.123, df = 10, p-value = 0.1674
Alternativ kannst du auch die zwei Variablen angeben:
chi2 <- chisq.test(
pss$stfdem,
pss$gndr
)
chi2
Die Berechnung des \(\chi^2\)-Unabhängigkeitstest setzt zwei Annahmen voraus:
\(\Rightarrow\) Kreuztabelle! (\(\checkmark\))
Die Funktion chisq.test()
speichert verschiedene Werte. Ein zugeordnetes Objekt hat daher den Datentyp list. Dieser Datentyp ist neu für dich. Es ist ein weiterer Datentyp, der eine große Rolle in R spielt. Im Datentyp list können mehrere Informationen gespeichert werden, wie du es von einer Liste auf Papier kennst. Mit str()
kannst du dir anzeigen lassen, was alles in der Liste gespeichert wurde:
str(chi1)
## List of 9
## $ statistic: Named num 14.1
## ..- attr(*, "names")= chr "X-squared"
## $ parameter: Named int 10
## ..- attr(*, "names")= chr "df"
## $ p.value : num 0.167
## $ method : chr "Pearson's Chi-squared test"
## $ data.name: chr "mytable"
## $ observed : 'table' int [1:11, 1:2] 117 133 211 287 377 466 311 251 164 82 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : chr [1:11] "0" "1" "2" "3" ...
## .. ..$ : chr [1:2] "female" "male"
## $ expected : num [1:11, 1:2] 112 133 217 307 375 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : chr [1:11] "0" "1" "2" "3" ...
## .. ..$ : chr [1:2] "female" "male"
## $ residuals: 'table' num [1:11, 1:2] 0.4316 -0.0275 -0.3999 -1.1649 0.0992 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : chr [1:11] "0" "1" "2" "3" ...
## .. ..$ : chr [1:2] "female" "male"
## $ stdres : 'table' num [1:11, 1:2] 0.6233 -0.0398 -0.5909 -1.7577 0.1521 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : chr [1:11] "0" "1" "2" "3" ...
## .. ..$ : chr [1:2] "female" "male"
## - attr(*, "class")= chr "htest"
Der Datentyp list kann verschiedene Elemente als Liste speichern, so dass diese Elemente einzeln ansprechbar sind. Z.B. können verschiedene Vektoren in einer Liste gespeichert werden. Die einzelnen Teile einer Liste können über die Funktion ls()
ausgegeben werden und werden mit dem $
-Zeichen angesprochen.
ls(chi1)
## [1] "data.name" "expected" "method" "observed" "p.value" "parameter"
## [7] "residuals" "statistic" "stdres"
Um nun die erwarteten Werte zu sehen, greifen wir auf expected
(erwartet) aus dem Objekt chi1
zu.
chi1$expected
##
## female male
## 0 112.42406 113.57594
## 1 133.31702 134.68298
## 2 216.88889 219.11111
## 3 307.42508 310.57492
## 4 375.07849 378.92151
## 5 422.83384 427.16616
## 6 313.89195 317.10805
## 7 259.66972 262.33028
## 8 168.13863 169.86137
## 9 89.04383 89.95617
## 10 41.28848 41.71152
Du siehst, dass also auch die Bedingung, dass es mind. \(5\) Fälle in jeder Zelle der erwarteten Werte gibt erfüllt wird.
Bisher haben wir nur den \(\chi^2\)-Unabhängigkeitstest durchgeführt. Aber neben dem generellen Zusammenhang ist oftmals von Interesse, wie stark dieser Zusammenhang ist bzw. in welche Richtung dieser Zusammenhang geht.
Wir berechnen Cramer’s V für die Stärke des Zusammenhangs zwischen zwei mindestens nominalskalierten Variablen. Wir benutzen die Funktion CramerV()
aus der library DescTools
. Du gibst die zwei Variablen an und im dritten Argument setzt du das Konfidenzintervall (in diesem Fall \(0.95\)):
install.packages("DescTools")
library("DescTools")
CramerV(
pss$stfdem,
pss$gndr,
conf.level = 0.95 # Konfidenzintervall
)
## Cramer V lwr.ci upr.ci
## 0.05365996 0.00000000 0.06613029
Wir interpretieren den Test wie folgt: In der ersten Spalte ist der Wert für Cramer’s V angegeben und in der zweiten und dritten Spalte das Konfidenzintervall für diesen Wert. Sofern das Intervall nicht den Wert \(0\) schneidet, ist das Ergebnis signifikant. In diesem Fall sehen wir, dass es sich um kein signifikantes Ergebnis handelt.
Für die Interpretation des Wertes gelten folgende Grenzen:
unteres Ende | oberes Ende | Interpretation |
---|---|---|
\(0\) | \(0.1\) | kein Zusammenhang |
\(0.1\) | \(0.3\) | gering |
\(0.3\) | \(0.6\) | mittel |
\(0.6\) | \(1\) | stark |
Wenn nicht nur die Stärke des Zusammenhangs interpretiert werden soll, sondern auch die Richtung des Zusammenhangs, muss eine Korrelation berechnet werden.