Ich habe einige Nominal- und Ordinalmaße aus Ihrer Vorlesung in dem ryouready Paket zusammengefasst. Im Folgenden wird demonstiert, wie man Lambda, Tau, Somers' D und Gamma in R berechnen kann.
library(ryouready)
Der NGO Datensatz ist im Paket ebenfalls schon enthalten. Er nennt sich hier d.ngo.
head(d.ngo)
idnr jahrgang geschl stunzahl hausauf abschalt leistung begabung urteil
1 4 1 1 36 2 2 7 6 6
2 51 1 1 35 2 1 2 4 5
3 3 1 1 35 4 2 6 5 6
4 1 1 1 30 3 2 6 5 5
5 5 1 1 36 4 2 5 6 6
6 6 1 1 35 3 1 3 8 5
englisch deutsch mathe zeng zdeutsch zmathe index leist
1 1 4 3 -1.8281 -1.7586 -1.4709 1 3
2 2 4 3 -1.3175 -1.7586 -1.4709 1 1
3 5 8 6 0.2145 0.1932 0.1349 2 2
4 3 6 4 -0.8068 -0.7827 -0.9356 2 2
5 5 8 6 0.2145 0.1932 0.1349 2 2
6 3 6 4 -0.8068 -0.7827 -0.9356 2 1
Ich attache den Datensatz zuächst, um auf die Variablen einfacher zugreifen zu können.
attach(d.ngo)
Lambda wird für Kontingenztabellen berechnet. Erstellen wir also zunöchst eine Kontingenztabelle, z.B. von jahrgang und index.
tbl <- table(jahrgang, index)
tbl
index
jahrgang 1 2 3
1 13 75 12
2 20 75 5
3 5 22 23
Nun berechnen ich für die Tabelle die Lambda Werte.
nom.lambda(tbl)
$lambda.cr
[1] 0.01282
$lambda.rc
[1] 0.12
$lambda.symmetric
[1] 0.08333
attr(,"class")
[1] "ord.lambda"
Bei dem ersten Wert lambda.cr ist die Zeilenvariable die unabhängige Variable, der Rest erklärt sich von selbst.
Bei Tau gehen wir in gleicher Weise vor. Diesmal mit den Variablen Begabung und Jahrgang.
tbl <- table(begabung, jahrgang)
tbl
jahrgang
begabung 1 2 3
3 1 0 0
4 3 2 3
5 36 28 14
6 24 16 9
7 21 32 19
8 12 18 4
9 3 4 1
ord.tau(tbl)
Kendall's (and Stuart's) Tau statistics
Tau-b: 0.066
Tau-c: 0.069
Tau A wird hier nicht ausgegeben, da es sich nicht um eine quadratische Tabelle handelt.
ord.somers.d(tbl)
Somers' d:
Columns dependent: 0.061
Rows dependent: 0.072
Symmetric: 0.066
ord.gamma(tbl)
Goodman-Kruskal Gamma: 0.095