Zusammenhang zwischen kategorialen Variablen

Darstellung von Zusammenhängen

Zur Erinnerung: Je nach Skalenniveau der beiden Variablen lassen sich zwei Merkmale in unterschiedlicher Weise gemeinsam darstellen. Für zwei nominale oder ordinale Variablen bieten sich Kreuztabellen an.

Hier finden Sie Informationen zu den im Artikel verwendeten Beispieldaten

Cramérs V

Wenn wir den Zusammenhang zwischen zwei nominalskalierten Variablen beschreiben wollen, können wir Cramérs \(V\) verwenden.

Eigenschaften

  • Cramérs \(V\) kann Werte zwischen \(0\) und \(1\) annehmen.
  • Ein Wert von \(0\) bedeutet, dass kein Zusammenhang vorliegt.
  • Je größer der Wert ist, desto größer ist der untersuchte Zusammenhang.

Grundidee

Wir vergleichen die beobachteten Häufigkeiten in den einzelnen Zellen der Kreuztabelle mit den Häufigkeiten, die ohne einen Zusammenhang der beiden Variablen zu Stande kommen würden. Der Wert von Cramérs \(V\) drückt den Unterschied zwischen diesen beiden Tabellen aus.

Im Gegensatz zum Korrelationskoeffizienten \(r\) untersuchen wir mit Cramérs \(V\) keinen linearen Zusammenhang. Aussagen wie "Je mehr Lernzeit SchülerInnen investieren, desto höher ist im Durchschnitt die Punktezahl" können also nicht getroffen werden - "mehr" und "höher" sind ja auch keine sinnvollen Begriffe für nominale Variablen. Dennoch kann uns interessieren, ob bestimmte Werte der einen nominalen Variable häufiger gemeinsam mit bestimmten Werten der anderen nominalen Variable auftreten.

Als Zusammenhangsmaß für nominale Variablen kann uns auch der Kontingenzkoeffizient C begegnen. Er wird ähnlich wie Cramérs V berechnen, ist jedoch unstandardisiert. Das bedeutet, dass für C kein einheitlicher Wertebereich (z.B. von 0 bis 1) existiert. Dadurch lässt sich C schlechter interpretieren als Cramérs V.

Für den Sonderfall von zwei dichotomen Variablen kann auch das Maß der Prozentsatzdifferenz verwendet werden.

Herleitung von Cramérs V

Zusammenfassung

Praktische Umsetzung mit Statistiksoftware

Beispieldaten herunterladen: dat.csv

Datenbeispiel

Unser Beispieldatensatz (hypothetisches Datenbeispiel) liegt als CSV-Datei vor. Die Daten können mit der read.csv-Funktion eingelesen werden (der korrekte Pfad zum Speicherort muss angegeben werden):

dat <- read.csv("C:/... Pfad .../dat.csv")

Die Funktion erzeugt ein Objekt vom Typ data.frame, dem wir links vom Zuweisungspfeil (<-) den Namen "dat" geben.

Der Datensatz enthält u.a. die Variablen punkte (erzielte Punktzahl in einem Test), schlafdauer (Schlafdauer in der Nacht vor dem Test in Std.), lernzeit (insgesamt für den Test aufgewendete Lernzeit in Std.) und lsport (Lieblingssportart). Einzelne Variablen können als Datensatzname$Variablenname angesprochen werden, z.B.:

dat$punkte

[1]  93.0  76.5  79.5  85.0  66.5  71.0  56.5  77.0  59.0  63.5  72.0  70.0  96.0  72.0  62.5  76.5  86.0  57.5
[19]  60.0  73.5  64.5  54.0  85.0  64.0  57.5  54.0  76.5  41.0  58.5  87.5  62.5  62.5 100.5  86.0  66.5  79.5
[37]  77.0  67.5  58.5  92.5  94.5  77.0  76.0  67.0  44.5  86.5  70.0  81.5  90.5  78.0  80.5  74.0  56.5  60.0
[55]  83.0  70.0  49.0  57.0  48.0  70.5  96.5 106.0  65.5  86.5  87.5  89.5  64.0  86.0  62.0  94.5  52.0  73.5
[73]  77.0  83.5  62.5  52.5  51.5  86.5  70.5  57.5  68.0 103.0  79.0  75.0 113.5  78.0 104.5  84.5  63.5  46.0
[91] 102.5  77.0  73.5  71.0 106.0  79.0  77.5  87.0  92.5  11.5  83.5  86.5  78.5  67.5  71.0  61.5  31.0  50.5
[109]  87.5  66.5  67.0  60.5  61.5  83.5  66.0  97.0  79.5  83.5  82.0  63.0

Die Ausgabe zeigt die 120 beobachteten Werte der Variable punkte.

Kreuztabellen und Cramérs V

In diesem Beispiel interessieren wir uns dafür, ob zwischen der Variable nachhilfe und der Mathenote zeugnis_mathe_note ein Zusammenhang besteht.

Um dies zu überprüfen, erstellen wir aus den beiden Variablen eine Kreuztabelle mit der Funktion table(). Wir speichern die Tabelle in einem Objekt mit dem Namen tab_mathe_nh.

Insgesamt haben die Schüler*innen vier verschiedene Mathenoten auf ihren Zeugnissen erreicht. Für jede Schüler*in kann angegeben werden, ob sie*er regelmäßig Nachhilfe in Anspruch genommen ("1") hat oder nicht ("0"):

tab_mathe_nh <- table(dat$zeugnis_mathe_note, dat$nachhilfe)

tab_mathe_nh

               0  1
 ausreichend   0  2
 befriedigend 27 15
 gut          37 30
 sehr gut      5  4

Die absoluten Häufigkeiten der acht möglichen Ausprägungen können zusammen mit den Zeilen- und Spaltenhäufigkeiten und der Gesamtsumme mit addmargins() dargestellt werden:

addmargins(tab_mathe_nh)

                0   1 Sum
 ausreichend    0   2   2
 befriedigend  27  15  42
 gut           37  30  67
 sehr gut       5   4   9
 Sum           69  51 120

Es ist ebenfalls möglich mit rowSums() nur die Zeilensumme und mit colSums() nur die Spaltensumme zu betrachten:

rowSums(tab_mathe_nh)

 ausreichend befriedigend          gut     sehr gut 
           2           42           67            9 

colSums(tab_mathe_nh)

  0  1 
 69 51

Relative Häufigkeiten

Mit prop.table() wird die relative Häufigkeit der Ausprägungen im Verhältnis zur Gesamthäufigkeit dargestellt. Wenn hier wieder addmargins() verwendet wird, liefert R zusätzlich auch die Zeilen- und Spaltenhäufigkeit, sowie die Häufigkeit der Gesamtsumme (diese muss 1 betragen):

prop.table(tab_mathe_nh)

                       0          1
 ausreichend  0.00000000 0.01666667
 befriedigend 0.22500000 0.12500000
 gut          0.30833333 0.25000000
 sehr gut     0.04166667 0.03333333

addmargins(prop.table(tab_mathe_nh))

                       0          1        Sum
 ausreichend  0.00000000 0.01666667 0.01666667
 befriedigend 0.22500000 0.12500000 0.35000000
 gut          0.30833333 0.25000000 0.55833333
 sehr gut     0.04166667 0.03333333 0.07500000
 Sum          0.57500000 0.42500000 1.00000000

Diesselbe Tabelle kann mit prozentualen Häufigkeiten ausgegeben werden, indem die relativen Häufigkeiten mit 100 multipliziert werden. Um eine angemessene Darstellunf zu erhalten, kann das Ergebnis mit digits = 2 auf zwei Nachkommastellen gerundet werden:

addmargins(prop.table(tab_mathe_nh))*100

                       0          1        Sum
 ausreichend    0.000000   1.666667   1.666667
 befriedigend  22.500000  12.500000  35.000000
 gut           30.833333  25.000000  55.833333
 sehr gut       4.166667   3.333333   7.500000
 Sum           57.500000  42.500000 100.000000

round(addmargins(prop.table(tab_mathe_nh))*100, digits = 2)

                   0      1    Sum
 ausreichend    0.00   1.67   1.67
 befriedigend  22.50  12.50  35.00
 gut           30.83  25.00  55.83
 sehr gut       4.17   3.33   7.50
 Sum           57.50  42.50 100.00

Zeilen- und Spaltenprozente

Zeilenprozente können in der Funktion prop.table() mit dem Argument margin=1 angefordert werden. Für Spaltenprozente wird *margin=2 angegeben:

prop.table(tab_mathe_nh, margin=1)

                      0         1
 ausreichend  0.0000000 1.0000000
 befriedigend 0.6428571 0.3571429
 gut          0.5522388 0.4477612
 sehr gut     0.5555556 0.4444444

prop.table(tab_mathe_nh, margin=2)

                       0          1
 ausreichend  0.00000000 0.03921569
 befriedigend 0.39130435 0.29411765
 gut          0.53623188 0.58823529
 sehr gut     0.07246377 0.07843137

Cramérs V

Cramérs V kann am einfachsten mit der Funktion cramersV() aus dem Paket lsr berechnet werden. Dafür muss das Paket nur vorher installiert (install.packages()) und geladen (library()) werden:

install.packages("lsr")

library(lsr)

cramersV(tab_mathe_nh)

[1] 0.1744807

Mit einem Cramérs V von ca. 0.174 besteht nur ein schwacher Zusammenhang zwischen der Zeugnisnote im Fach Mathematik und der regelmäßigen Teilnahme an einem Nachhilfeunterrricht.

Beispieldaten herunterladen: daten_stata.dta

Daten einlesen

Der Datensatz wird mit dem Befehl use geöffnet (der Pfad zum Speicherort muss entsprechend angepasst werden):

use "C:\... Pfad ...\daten_stata.dta"

Kreuztabellen

In diesem Beispiel interessieren wir uns dafür, ob zwischen der Variable nachhilfe und der Mathenote zeugnis_mathe_note ein Zusammenhang besteht.

Eine Kreuztabelle der beiden Variablen kann mit der Funktion tabulate berechnet werden. Randsummen, also die univariaten Verteilungen der beiden Variablen werden mit ausgegeben:

tabulate zeugnis_mathe_note nachhilfe

>zeugnis_math |       nachhilfe
       e_note |         0          1 |     Total
 -------------+----------------------+----------
     sehr gut |         0          2 |         2 
          gut |        27         15 |        42 
 befriedigend |        37         30 |        67 
  ausreichend |         5          4 |         9 
 -------------+----------------------+----------
        Total |        69         51 |       120 

In dieser Kreuztabelle sind die absoluten Häufigkeiten der acht möglichen Ausprägungen dargestellt. Für jede erreichte Zeugnisnote im Fach Mathematik wird in dieser Tabelle angegeben, wie viele Schüler*\innen regelmäßig Nachhilfe in Anspruch genommen ("1") haben und wie viele nicht ("0"). Zusätzlich werden unter "Total" jeweils die Zeilenhäufigkeiten (2, 42, 67, 9), die Spaltenhäufigkeiten (69, 51) und die Anzahl aller Beobachtungen (120) ausgegeben.

Mit der Option cell können relative Häufigkeiten in Bezug zur Gesamtsumme ausgegeben werden:

. tabulate zeugnis_mathe_note nachhilfe, cell

+-----------------+
| Key             |
|-----------------|
|    frequency    |
| cell percentage |
+-----------------+

 Zeugnisnote |     Nachhilfe in
 Mathematik: |      Mathematik
  Schulnoten |         0          1 |     Total
-------------+----------------------+----------
 ausreichend |         0          2 |         2 
             |      0.00       1.67 |      1.67 
-------------+----------------------+----------
befriedigend |        27         15 |        42 
             |     22.50      12.50 |     35.00 
-------------+----------------------+----------
         gut |        37         30 |        67 
             |     30.83      25.00 |     55.83 
-------------+----------------------+----------
    sehr gut |         5          4 |         9 
             |      4.17       3.33 |      7.50 
-------------+----------------------+----------
       Total |        69         51 |       120 
             |     57.50      42.50 |    100.00 

Zeilen- und Spaltenprozente

Zeilen und Spaltenprozente werden entsprechend mit den Optionen row und col angefordert:

. tabulate zeugnis_mathe_note nachhilfe, row

+----------------+
| Key            |
|----------------|
|   frequency    |
| row percentage |
+----------------+

 Zeugnisnote |     Nachhilfe in
 Mathematik: |      Mathematik
  Schulnoten |         0          1 |     Total
-------------+----------------------+----------
 ausreichend |         0          2 |         2 
             |      0.00     100.00 |    100.00 
-------------+----------------------+----------
befriedigend |        27         15 |        42 
             |     64.29      35.71 |    100.00 
-------------+----------------------+----------
         gut |        37         30 |        67 
             |     55.22      44.78 |    100.00 
-------------+----------------------+----------
    sehr gut |         5          4 |         9 
             |     55.56      44.44 |    100.00 
-------------+----------------------+----------
       Total |        69         51 |       120 
             |     57.50      42.50 |    100.00 

. tabulate zeugnis_mathe_note nachhilfe, col

+-------------------+
| Key               |
|-------------------|
|     frequency     |
| column percentage |
+-------------------+

 Zeugnisnote |     Nachhilfe in
 Mathematik: |      Mathematik
  Schulnoten |         0          1 |     Total
-------------+----------------------+----------
 ausreichend |         0          2 |         2 
             |      0.00       3.92 |      1.67 
-------------+----------------------+----------
befriedigend |        27         15 |        42 
             |     39.13      29.41 |     35.00 
-------------+----------------------+----------
         gut |        37         30 |        67 
             |     53.62      58.82 |     55.83 
-------------+----------------------+----------
    sehr gut |         5          4 |         9 
             |      7.25       7.84 |      7.50 
-------------+----------------------+----------
       Total |        69         51 |       120 
             |    100.00     100.00 |    100.00 

Die Optionen dürfen kombiniert werden:

. tabulate zeugnis_mathe_note nachhilfe, cell row col

+-------------------+
| Key               |
|-------------------|
|     frequency     |
|  row percentage   |
| column percentage |
|  cell percentage  |
+-------------------+

 Zeugnisnote |     Nachhilfe in
 Mathematik: |      Mathematik
  Schulnoten |         0          1 |     Total
-------------+----------------------+----------
 ausreichend |         0          2 |         2 
             |      0.00     100.00 |    100.00 
             |      0.00       3.92 |      1.67 
             |      0.00       1.67 |      1.67 
-------------+----------------------+----------
befriedigend |        27         15 |        42 
             |     64.29      35.71 |    100.00 
             |     39.13      29.41 |     35.00 
             |     22.50      12.50 |     35.00 
-------------+----------------------+----------
         gut |        37         30 |        67 
             |     55.22      44.78 |    100.00 
             |     53.62      58.82 |     55.83 
             |     30.83      25.00 |     55.83 
-------------+----------------------+----------
    sehr gut |         5          4 |         9 
             |     55.56      44.44 |    100.00 
             |      7.25       7.84 |      7.50 
             |      4.17       3.33 |      7.50 
-------------+----------------------+----------
       Total |        69         51 |       120 
             |     57.50      42.50 |    100.00 
             |    100.00     100.00 |    100.00 
             |     57.50      42.50 |    100.00 

Cramérs V

Das Zusammenhangsmaß Cramérs V kann ebenfalls als Option bei der Berechnung einer Kreuztabelle mit tabulate angefordert werden.

. tabulate zeugnis_mathe_note nachhilfe, row V
+----------------+ Key
frequency
row percentage

+----------------+

Zeugnisnote | Nachhilfe in Mathematik: | Mathematik Schulnoten | 0 1 | Total -------------+----------------------+---------- ausreichend | 0 2 | 2 | 0.00 100.00 | 100.00 -------------+----------------------+---------- befriedigend | 27 15 | 42 | 64.29 35.71 | 100.00 -------------+----------------------+---------- gut | 37 30 | 67 | 55.22 44.78 | 100.00 -------------+----------------------+---------- sehr gut | 5 4 | 9 | 55.56 44.44 | 100.00 -------------+----------------------+---------- Total | 69 51 | 120 | 57.50 42.50 | 100.00

           Cramér's V =   0.1745

Die Ausgabe der Tabelle kann mit der Option nofreq unterdrückt werden. Da die "Art" des Zusammenhangs allerdings nur aus der Betrachtung der Tabelle erkennbar wird ist es in der Regel sinnvoller, diese mit ausgeben zu lassen.

tabulate zeugnis_mathe_note nachhilfe, V nofreq

>Cramér's V =   0.1745

Cramérs V ist 0.1745, und zeigt damit einen nur schwachem Zusammenhang zwischen der Zeugnisnote im Fach Mathematik und der regelmäßigen Teilnahme an einem Nachhilfeunterricht aus.

Beispieldaten herunterladen: dat.sav

Datenbeispiel

Kreuztabellen und Cramérs V

Statt durch Klicken durch das Menü können wir uns die Ergebnisse auch über die Syntax ausgeben lassen. Dazu verwenden wir den folgenden Code:

CROSSTABS 
  /TABLES=nachhilfe BY zeugnis_mathe_note 
  /FORMAT=AVALUE TABLES 
  /STATISTICS=PHI 
  /CELLS=COUNT COLUMN 
  /COUNT ROUND CELL.

Wir verwenden den Befehl CROSSTABS, um eine Kreuztabelle zu erhalten. Mit TABLES= geben wir die beiden Variablen getrennt mit einem BY an. In diesem Fall ist nachhilfe die Zeilenvariable (und steht vor dem BY) und zeugnis_mathe_note die Spaltenvariable (und steht nach dem BY). Um zusätzlich zu den Tabellen auch Zusammenhangsmaße angezeigt zu bekommen, verwenden wir den Unterbefehl STATISTICS. PHI führt neben dem Phi-Koeffizienten zu einer Ausgabe von Cramérs V. Mit CELLS=COUNT definieren wird, dass absolute Häufigkeiten in der Tabelle ausgegeben werden. CELLS= COLUMN führt zu der zusätzlichen Ausgabe von Spaltenprozenten. ROW würde entsprechend zu Zeilenprozenten führen.

Creative Commons Lizenzvertrag

Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Autor*innen dieses Artikels

Sebastian Gerhartz, Adrian Neuser, Lisa Rüge