Zusammenhang zwischen kategorialen Variablen

Darstellung von Zusammenhängen

Cramérs V

Herleitung von Cramérs V

Zusammenfassung

Praktische Umsetzung mit Statistiksoftware

array(1) { [0]=> array(21) { ["mblockType"]=> string(4) "Text" ["ShinyApp"]=> string(0) "" ["ShinyTitle"]=> string(0) "" ["ShinyDescription"]=> string(0) "" ["TextTitle"]=> string(0) "" ["TextCols"]=> string(1) "1" ["TextText1"]=> string(6916) "*Beispieldaten herunterladen:* [dat.csv](/media/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): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r 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.: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r 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"): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r 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: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r 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: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r 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): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r 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: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r 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: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r 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: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r 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." ["TextText2"]=> string(0) "" ["H5pTitle"]=> string(0) "" ["H5pDescription"]=> string(0) "" ["H5pCode"]=> string(0) "" ["MtmTitle"]=> string(0) "" ["MtmText"]=> string(0) "" ["CodeTitle"]=> string(0) "" ["CodeCode"]=> string(0) "" ["CodeType"]=> string(1) "R" ["SliderTitle"]=> string(0) "" ["SliderText"]=> string(0) "" ["REX_MEDIALIST_1"]=> string(0) "" ["AccordeonTitle"]=> string(0) "" ["AccordeonItems"]=> string(0) "" } }

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
<!-- AN, 08.04.2020: Es ist durchaus möglich das für eine noch bessere Darstellung der Ergebnisse die Befehle rowPercents() und colPercents() zu verwenden. Ich musste dafür allerdings 6 verschiedene Pakete installieren (abind, Rcmdr,RcmdrMisc, car, glue, backports). Ich weiß nicht, inwiefern diese Befehle nicht eher verwirren, statt helfen. -->

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.

array(1) { [0]=> array(21) { ["mblockType"]=> string(4) "Text" ["ShinyApp"]=> string(0) "" ["ShinyTitle"]=> string(0) "" ["ShinyDescription"]=> string(0) "" ["TextTitle"]=> string(0) "" ["TextCols"]=> string(1) "1" ["TextText1"]=> string(14202) "*Beispieldaten herunterladen:* [daten_stata.dta](/media/daten_stata.dta) #### Daten einlesen Der Datensatz wird mit dem Befehl *use* geöffnet (der Pfad zum Speicherort muss entsprechend angepasst werden): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stata 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: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stata 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: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stata . 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: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stata . 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: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stata . 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. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stata . 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. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stata 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." ["TextText2"]=> string(0) "" ["H5pTitle"]=> string(0) "" ["H5pDescription"]=> string(0) "" ["H5pCode"]=> string(0) "" ["MtmTitle"]=> string(0) "" ["MtmText"]=> string(0) "" ["CodeTitle"]=> string(0) "" ["CodeCode"]=> string(0) "" ["CodeType"]=> string(5) "Stata" ["SliderTitle"]=> string(0) "" ["SliderText"]=> string(0) "" ["REX_MEDIALIST_1"]=> string(0) "" ["AccordeonTitle"]=> string(0) "" ["AccordeonItems"]=> string(0) "" } }

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.

<!-- AN, 13.05.2020: Mit Stata können die Zeilen- und Spaltenhäufigkeiten nicht separat ermittelt werden, oder? -->

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 
<!-- Es ist ebenfalls möglich, die relativen Häufigkeiten nur mit Bezug zur Zeilensumme oder Spaltensumme auszuwerten der Kreuztabelle auszuwerten. Bezogen auf unser Beispiel können wir uns also Fragen, wie viel Prozent der Schüler\*innen, die Nachhilfe in Anspruch genommen haben, haben ein "gut" als Zeugnisnote in Mathematik erhalten? --> <!-- Um solche Fragestellungen in Stata beantworten zu können, müssen wir mit tabulate eine univariate Tabellen der Variabel *zeugnis_mathe_note* erzeugen. Diese Tabelle soll jedoch sortiert werden—wir wollen eine Häufigkeitstabelle mit den Zeugnisnoten der Schüler\*innen, die Nachhilfe genommen haben und eine Häufigkeitstabelle für die Schüler*\innen, die keine Nachhilfe in Anspruch genommen haben. Dies erreichen wir mit der Funktion bysort: --> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stata --> <!-- bysort nachhilfe : tabulate zeugnis_mathe_note --> <!-- > --> <!-- --------------------------------------------------------------------------------------------------------------------------- --> <!-- -> nachhilfe = 0 --> <!-- >zeugnis_math | --> <!-- e_note | Freq. Percent Cum. --> <!-- -------------+----------------------------------- --> <!-- gut | 27 39.13 39.13 --> <!-- befriedigend | 37 53.62 92.75 --> <!-- ausreichend | 5 7.25 100.00 --> <!-- -------------+----------------------------------- --> <!-- Total | 69 100.00 --> <!-- > --> <!-- --------------------------------------------------------------------------------------------------------------------------- --> <!-- -> nachhilfe = 1 --> <!-- >zeugnis_math | --> <!-- e_note | Freq. Percent Cum. --> <!-- -------------+----------------------------------- --> <!-- sehr gut | 2 3.92 3.92 --> <!-- gut | 15 29.41 33.33 --> <!-- befriedigend | 30 58.82 92.16 --> <!-- ausreichend | 4 7.84 100.00 --> <!-- -------------+----------------------------------- --> <!-- Total | 51 100.00 --> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- Mit Hilfe der so erstellten Tabellen kann folgende Aussage getroffen werden: 15 Prozent der Schüler\*innen, die Nachhilfe in Anspruch genommen haben, haben ein "gut" als Zeugnisnote in Mathematik erhalten. --> <!-- Mit der gleichen Funktions-Logik ist es ebenfalls möglich die Häufigkeitsverteilung jeder Ausprägung von *zeugnis_mathe_note* in Bezug auf die Variable *nachhilfe* darzustellen: --> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stata --> <!-- bysort zeugnis_mathe_note : tabulate nachhilfe --> <!-- > --> <!-- --------------------------------------------------------------------------------------------------------------------------- --> <!-- -> zeugnis_mathe_note = sehr gut --> <!-- > nachhilfe | Freq. Percent Cum. --> <!-- ------------+----------------------------------- --> <!-- 1 | 2 100.00 100.00 --> <!-- ------------+----------------------------------- --> <!-- Total | 2 100.00 --> <!-- > --> <!-- --------------------------------------------------------------------------------------------------------------------------- --> <!-- -> zeugnis_mathe_note = gut --> <!-- > nachhilfe | Freq. Percent Cum. --> <!-- ------------+----------------------------------- --> <!-- 0 | 27 64.29 64.29 --> <!-- 1 | 15 35.71 100.00 --> <!-- ------------+----------------------------------- --> <!-- Total | 42 100.00 --> <!-- > --> <!-- --------------------------------------------------------------------------------------------------------------------------- --> <!-- -> zeugnis_mathe_note = befriedig --> <!-- > nachhilfe | Freq. Percent Cum. --> <!-- ------------+----------------------------------- --> <!-- 0 | 37 55.22 55.22 --> <!-- 1 | 30 44.78 100.00 --> <!-- ------------+----------------------------------- --> <!-- Total | 67 100.00 --> <!-- > --> <!-- --------------------------------------------------------------------------------------------------------------------------- --> <!-- -> zeugnis_mathe_note = ausreiche --> <!-- > nachhilfe | Freq. Percent Cum. --> <!-- ------------+----------------------------------- --> <!-- 0 | 5 55.56 55.56 --> <!-- 1 | 4 44.44 100.00 --> <!-- ------------+----------------------------------- --> <!-- Total | 9 100.00 --> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- Durch die Betrachtung dieser Tabellen kann gesagt werden, dass 64,29 Prozent der Schüler*\innen, die ein "gut" als Zeugnisnote in Mathe erhalten haben, keine Nachhilfe bekommen haben. --> <!-- Cramérs V kann am einfachsten mit der Funktion tabulate berechnet werden. Dafür wird die Option V genutzt und mit nofreq die Erstellung einer Kreuztabelle unterbunden: -->

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.

array(5) { [0]=> array(21) { ["mblockType"]=> string(4) "Text" ["ShinyApp"]=> string(0) "" ["ShinyTitle"]=> string(0) "" ["ShinyDescription"]=> string(0) "" ["TextTitle"]=> string(0) "" ["TextCols"]=> string(1) "1" ["TextText1"]=> string(77) "*Beispieldaten herunterladen:* [dat.sav](/media/dat.sav) ### Datenbeispiel" ["TextText2"]=> string(0) "" ["H5pTitle"]=> string(0) "" ["H5pDescription"]=> string(0) "" ["H5pCode"]=> string(0) "" ["MtmTitle"]=> string(0) "" ["MtmText"]=> string(0) "" ["CodeTitle"]=> string(0) "" ["CodeCode"]=> string(0) "" ["CodeType"]=> string(4) "SPSS" ["SliderTitle"]=> string(0) "" ["SliderText"]=> string(0) "" ["REX_MEDIALIST_1"]=> string(0) "" ["AccordeonTitle"]=> string(0) "" ["AccordeonItems"]=> string(0) "" } [1]=> array(21) { ["mblockType"]=> string(3) "H5p" ["ShinyApp"]=> string(0) "" ["ShinyTitle"]=> string(0) "" ["ShinyDescription"]=> string(0) "" ["TextTitle"]=> string(0) "" ["TextCols"]=> string(1) "1" ["TextText1"]=> string(0) "" ["TextText2"]=> string(0) "" ["H5pTitle"]=> string(0) "" ["H5pDescription"]=> string(0) "" ["H5pCode"]=> string(7) "1006342" ["MtmTitle"]=> string(0) "" ["MtmText"]=> string(0) "" ["CodeTitle"]=> string(0) "" ["CodeCode"]=> string(0) "" ["CodeType"]=> string(0) "" ["SliderTitle"]=> string(0) "" ["SliderText"]=> string(0) "" ["REX_MEDIALIST_1"]=> string(0) "" ["AccordeonTitle"]=> string(0) "" ["AccordeonItems"]=> string(0) "" } [2]=> array(21) { ["mblockType"]=> string(4) "Text" ["ShinyApp"]=> string(0) "" ["ShinyTitle"]=> string(0) "" ["ShinyDescription"]=> string(0) "" ["TextTitle"]=> string(0) "" ["TextCols"]=> string(1) "1" ["TextText1"]=> string(32) "### Kreuztabellen und Cramérs V" ["TextText2"]=> string(0) "" ["H5pTitle"]=> string(0) "" ["H5pDescription"]=> string(0) "" ["H5pCode"]=> string(0) "" ["MtmTitle"]=> string(0) "" ["MtmText"]=> string(0) "" ["CodeTitle"]=> string(0) "" ["CodeCode"]=> string(0) "" ["CodeType"]=> string(0) "" ["SliderTitle"]=> string(0) "" ["SliderText"]=> string(0) "" ["REX_MEDIALIST_1"]=> string(0) "" ["AccordeonTitle"]=> string(0) "" ["AccordeonItems"]=> string(0) "" } [3]=> array(21) { ["mblockType"]=> string(3) "H5p" ["ShinyApp"]=> string(0) "" ["ShinyTitle"]=> string(0) "" ["ShinyDescription"]=> string(0) "" ["TextTitle"]=> string(0) "" ["TextCols"]=> string(1) "1" ["TextText1"]=> string(0) "" ["TextText2"]=> string(0) "" ["H5pTitle"]=> string(0) "" ["H5pDescription"]=> string(0) "" ["H5pCode"]=> string(7) "1027070" ["MtmTitle"]=> string(0) "" ["MtmText"]=> string(0) "" ["CodeTitle"]=> string(0) "" ["CodeCode"]=> string(0) "" ["CodeType"]=> string(0) "" ["SliderTitle"]=> string(0) "" ["SliderText"]=> string(0) "" ["REX_MEDIALIST_1"]=> string(0) "" ["AccordeonTitle"]=> string(0) "" ["AccordeonItems"]=> string(0) "" } [4]=> array(21) { ["mblockType"]=> string(4) "Text" ["ShinyApp"]=> string(0) "" ["ShinyTitle"]=> string(0) "" ["ShinyDescription"]=> string(0) "" ["TextTitle"]=> string(0) "" ["TextCols"]=> string(1) "1" ["TextText1"]=> string(1076) "Statt durch Klicken durch das Menü können wir uns die Ergebnisse auch über die Syntax ausgeben lassen. Dazu verwenden wir den folgenden Code: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ spss 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." ["TextText2"]=> string(0) "" ["H5pTitle"]=> string(0) "" ["H5pDescription"]=> string(0) "" ["H5pCode"]=> string(0) "" ["MtmTitle"]=> string(0) "" ["MtmText"]=> string(0) "" ["CodeTitle"]=> string(0) "" ["CodeCode"]=> string(0) "" ["CodeType"]=> string(0) "" ["SliderTitle"]=> string(0) "" ["SliderText"]=> string(0) "" ["REX_MEDIALIST_1"]=> string(0) "" ["AccordeonTitle"]=> string(0) "" ["AccordeonItems"]=> string(0) "" } }

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

Diese Seite wurde zuletzt am 15.09.2021 aktualisiert.