Cohens Kappa in R berechnen

von | Zuletzt bearbeitet am: Apr 17, 2023 | Interraterreliabilität, Kappa, R

1 Sinn und Zweck von Cohens Kappa

Zur kurzen Einordnung: Cohens Kappa berechnet die Interrater-Reliabilität zwischen zwei Personen (=Ratern). Damit nutzt man es zur Beurteilung von Übereinstimmung zwischen zwei unabhängigen Ratern. Außerdem kann es für die Intrarater-Reliabilität verwendet werden, um zu schauen, ob derselbe Rater zu unterschiedlichen Zeitpunkten mit derselben Messmethode ähnliche/gleiche Ergebnisse erzielt.

Zugleich wird mit Cohens Kappa ersichtlich, wie sehr der bzw. die Rater in ihrem bzw. ihren Urteilen übereinstimmen – bereinigt um zufällige Übereinstimmungen. Ein typisches Beispiel ist, ob zwei Ärzte bei Krankheitsdiagnosen übereinstimmen – oder eben nicht. Wenn es sich um mehr als zwei Rater handelt und deren Übereinstimmung eingeschätzt werden soll, ist Fleiss’ Kappa zu berechnen.

 

2 Voraussetzungen zur Berechnung von Cohens Kappa in R

Für die Berechnung bedarf es lediglich einer nominalen Skalierung der zu prüfenden Variable. Die Einschätzungen der verschiedenen Rater sollten in verschiedenen Variablen, also spaltenweise vorliegen. In etwa so, wie in folgender Übersicht. Hierbei bedeutet eine 0, dass die Rater keine Krankheit diagnostizierten. Eine 1 ist dementsprechend eine diagnostizierte Krankheit. Der vollständige Datensatz ist unten verlinkt.
Wie Daten eingelesen werden, zeigt dieser Artikel.


Rater1	Rater2
0	0
0	0
0	1
1	1
1	1
0	0
0	0
1	1
1	1
0	1
0	1
1	1
1	1
1	1
1	1
...     ...

 

3 Vorbereitungen für Cohens Kappa in R

Die Berechnung von Cohens Kappa in R benötigt ein zusätzliches Paket names “DescTools“. Über install.packages(“DescTools“) und library(DescTools) wird es installiert und geladen:


install.packages("DescTools")
library(DescTools)

Als Nächstes braucht es eine Kreuztabelle. In ihr werden die zwei Rater und deren jeweilige Urteile dargestellt. Allein hieran kann man schon einen gewissen Grad an Übereinstimmung in den Urteilen abschätzen. Hierzu verwendet man den Befehl “xtabs(~ R1 + R2)“. Es ist notwendig die beiden Variablen R1 und R2 (=Raterurteile) in diese Funktion zu übergeben. Da ich den Dataframe nicht attached habe, steht vor den Variablen Rater1 und Rater2 noch jeweils “$data_rater”.


ratertab <- xtabs (~ data_rater$Rater1 + data_rater$Rater2)

Ich speichere die Kreuztabelle in dem Vektor "ratertab" und kann sie mir mit Eingabe dessen in die Konsole direkt ausgeben lassen. Hierfür erhalte ich nun folgende Ausgabe:


                 data_rater$Rater2
data_rater$Rater1  0  1
                0 15  5
                1  0 17

Es gibt in dieser 2x2-Matrix genau 4 Fälle:

  1. 0x0: beide Rater diagnostizieren keine Krankheit (hier: 15)
  2. 1x0: Rater 1 diagnostiziert eine Krankheit und Rater 2 diagnostiziert keine Krankheit (hier: 0)
  3. 0x1: Rater 1 diagnostiziert keine Krankheit und Rater 2 diagnostiziert eine Krankheit (hier: 5)
  4. 1x1: beide Rater diagnostizieren eine Krankheit (hier: 17)

Faustregel: Die Diagonale von links oben nach rechts unten zeigt die Übereinstimmungen. Die Diagonale von links unten nach rechts oben zeigt die Nichtübereinstimmung.

Im vorliegenden Beispiel gibt es 15+17=32 Übereinstimmungen und immerhin nur 0+5=5 Nichtübereinstimmungen. An sich ist das schon eine gute Übereinstimmung der beiden Rater (Ärzte), jedoch können auch zufällige Übereinstimmungen dafür verantwortlich sein. Diese zufälligen Übereinstimmungen werden mittels Cohen's Kappa herausgemittelt.

 

4 Berechnen von Cohens Kappa in R und Interpretation der Ergebnisse

Nun wird Cohen's Kappa mit der Funktion CohenKappa aus dem Paket "DescTools" (siehe oben) berechnet. Wahlweise gibt man noch "conf.level = 0.95" an, sofern das 95%-Konfidenzintervall benötigt wird. Es können auch das 90%- oder 99%-Konfidenzintervall ausgegeben werden.


CohenKappa(ratertab, conf.level = 0.95)

Hier wird Cohen's Kappa (kappa) sowie das obere und das untere 95%-Konfidenzintervall (lwr.ci und upr.ci) ausgegeben.


    kappa    lwr.ci    upr.ci 
0.7338129 0.5168307 0.9507952 

Cohen's Kappa beträgt 0,734. Schließlich stellt sich die Frage, wie hoch die Übereinstimmung ist. Sie kann theoretisch zwischen perfekt (1) und schlecht (0) sein. Im Beispiel ist die Übereinstimmung beachtlich ("substantial"). Hierzu dient folgende Systematisierung nach Landis und Koch (1977).

cohen-landis-koch

 

5 Literatur

Landis, J., & Koch, G. (1977). The Measurement of Observer Agreement for Categorical Data. Biometrics, 33(1), 159-174. doi:10.2307/2529310

 

6 Datensatz zum Download

Download als .zip

 

Weitere nützliche Tutorials findest du auf meinem YouTube-Kanal.

 

7 Videotutorial

 

Hat dir der Beitrag geholfen?

Dann würde ich mich über eine kleine Spende freuen, die es mir erlaubt, weiterhin kostenfreie Inhalte zu veröffentlichen.
Alternativ kannst du über meinen Amazon Affiliate-Link einkaufen – ohne Zusatzkosten.

Vielen Dank und viel Erfolg!

Über mich

Björn Walther

Ein 💚 für Statistik & Datenanalyse

Excel Online-Kurs

YouTube-Kanal

Inhalt