Seite 1 von 1

Fehlender p-Wert bei Light´s Kappa-Berechnung

Verfasst: Do Mai 27, 2021 1:31 pm
von ID38
Hallo zusammen,

ich schreibe momentan an meiner Bachelorarbeit und versuche mit R eine statistische Auswertung durchzuführen.
Kurz zum Thema:
Versuchspersonen haben Bilder nach Emotionen kategorisiert und ich möchte die Übereinstimmung (insgesamt) berechnen.

Nun habe ich Lights Kappa (kappam.light- Funktion aus dem Paket irr) berechnet, erhalte aber leider keinen p-wert bzw. z-Wert (sondern NaN).
Woran könnte das liegen?

LG ID38

Re: Fehlender p-Wert bei Light´s Kappa-Berechnung

Verfasst: Do Mai 27, 2021 2:17 pm
von Athomas
Hallo ID38,

und herzlich willkommen hier im Forum!
Woran könnte das liegen?
Weil Du neu bist, gebe ich nicht die Antwort, die mir auf der Zunge liegt...
(Wenn es Dich interessieren sollte: die wäre "Da ist wahrscheinlich was falsch!" gewesen :) )

Zum Hintergrund: wir sind immer ganz fasziniert, mit welchen rudimentären Informationen man uns eine sinnvolle Antwort zutraut.
Ich möchte Dich bitten, Dir EDis Beitrag http://forum.r-statistik.de/viewtopic.php?f=20&t=11 anzugucken - und Deine Frage mit einem "reproduzierbaren Beispiel" :) zu versehen!

Re: Fehlender p-Wert bei Light´s Kappa-Berechnung

Verfasst: Do Mai 27, 2021 5:47 pm
von ID38
Vielen Dank für die Information! Da hätte ich mich vorher etwas informieren sollen, aber jetzt weiß ich für´s nächste mal Bescheid :D

So sieht mein Datensatz aus:

Code: Alles auswählen

> str(gesicht_light_data)
'data.frame':	42 obs. of  140 variables:
 $ G_Ü_1E : chr  "Überraschung" "Angst" "Überraschung" "Überraschung" ...
 $ G_Ü_2E : chr  "Überraschung" "Überraschung" "Überraschung" "Überraschung" ...
 $ G_Ü_3E : chr  "Überraschung" "Freude" "Überraschung" "Überraschung" ...
 $ G_Ü_4E : chr  "Überraschung" "Überraschung" "Überraschung" "Überraschung" ...
 $ G_Ü_5E : chr  "Überraschung" "Überraschung" "Überraschung" "Überraschung" ...
 $ G_Ü_6E : chr  "Überraschung" "Überraschung" "Überraschung" "Überraschung" ...
 $ G_Ü_7E : chr  "Überraschung" "Freude" "Überraschung" "Überraschung" ...
[list output truncated]
Ich habe zunächst meinen Datensatz transponiert:

Code: Alles auswählen

gesicht_light_gesicht_transpo <- t(gesicht_light_data)
Danach habe ich folgende Pakete geladen:

Code: Alles auswählen

library(lpSolve)
Warnmeldung:
Paket ‘lpSolve’ wurde unter R Version 4.0.3 erstellt

Code: Alles auswählen

library(irr)
Warnmeldung:
Paket ‘irr’ wurde unter R Version 4.0.3 erstellt
Funktion von Light´s Kappa:

Code: Alles auswählen

kappam.light(gesicht_light_gesicht_transpo)
Light's Kappa for m Raters

 Subjects = 140 
   Raters = 42 
    Kappa = 0.782 

        z = NaN 
  p-value = NaN 

Re: Fehlender p-Wert bei Light´s Kappa-Berechnung

Verfasst: Fr Mai 28, 2021 9:27 am
von Athomas
So sieht mein Datensatz aus:
Angehängt als csv-Datei wäre optimaler :lol: !

Welche R-Version verwendest Du?
Hast Du das Beispiel schon mal laufen lassen?

Code: Alles auswählen

library(irr)

data(diagnoses)
kappam.light(diagnoses)   # Light's Kappa

Re: Fehlender p-Wert bei Light´s Kappa-Berechnung

Verfasst: Fr Mai 28, 2021 1:10 pm
von ID38
Die Datei habe ich angehängt!

Hier ein paar Infos zu R:
R version 4.0.2 (2020-06-22) -- "Taking Off Again"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

RStudio habe ich gestern sogar noch geupdatet :)

Das Beispiel funktioniert bei mir!

Re: Fehlender p-Wert bei Light´s Kappa-Berechnung

Verfasst: Fr Mai 28, 2021 4:49 pm
von Athomas
Schlechte Nachricht: das gehört so!

Jedenfalls in Deinem konkreten Problem: da wird "unterwegs" das Produkt aus 861 Zahlen berechnet, die jeweils einen Wert von knapp über 16.000 haben - da brauch man keinen Taschenrechner um zu sehen, dass damit das "normale" Zahlenspektrum weit überschritten wird - R bekommt "Inf" heraus...
Die Zahl wird in der Folge durch etwas geteilt, das ebenfalls den Wert "Inf" hat - zusammen gibt das (entsprechend den "Rechenregeln" mit "Inf") "NaN" :D ...

Code: Alles auswählen

> Inf + Inf
[1] Inf
> Inf*Inf
[1] Inf
> Inf - Inf
[1] NaN
> Inf/Inf
[1] NaN
Ich gehe davon aus, dass das Ganze suboptimal programmiert ist - ich bin mir ziemlich sicher, dass man durch eine andere Reihenfolge der Multiplikationen/Divisionen die Zwischenergebnisse in einem erträglichen Bereich hätte halten können!

Re: Fehlender p-Wert bei Light´s Kappa-Berechnung

Verfasst: Mo Mai 31, 2021 11:59 am
von ID38
Vielen Dank für die Hilfe!
Mir ist gerade die Idee gekommen, dass ich die Items auf verschiedene Skalen aufteilen könnte. Ich habe meinen Datensatz auf 20 Items reduziert. Nun habe ich das Problem, dass gar kein Wert für Lights kappa ausgerechnet wird (Ergebnis -"NaN").

Code: Alles auswählen

Light's Kappa for m Raters

 Subjects = 10 
   Raters = 42 
    Kappa = NaN 

        z = NaN 
  p-value = NaN 
Der reduzierte Datensatz ist beigefügt!
gesicht_light_Ü.csv
reduzierter Datensatz
(11.84 KiB) 311-mal heruntergeladen
Könnte hierbei wieder die Programmierung Schuld sein?

Re: Fehlender p-Wert bei Light´s Kappa-Berechnung

Verfasst: Mo Mai 31, 2021 12:43 pm
von Athomas
Könnte hierbei wieder die Programmierung Schuld sein?
Nein, diesmal liegt es daran, dass zwei "Bewerter" komplett übereinstimmen (Nr. 3 und 8 empfinden überall nur "Überraschung"...)!

https://stats.stackexchange.com/questio ... utputs-nan

Ich habe übrigens von dieser Materie überhaupts keine Ahnung :D !

Re: Fehlender p-Wert bei Light´s Kappa-Berechnung

Verfasst: Mo Mai 31, 2021 12:51 pm
von bigben
Entschuldigt, wenn das wie ein unqualifizierter Zwischenruf aus dem Publikum wirken sollte. Wenn man in R unglücklich mit einer Funktionsimplementierung ist, lohnt sich oft die Frage, ob ein anderer Autor was besser implementiert hat. Dieser Link verweist beispielsweise auf eine andere Funktion in einem anderen package: https://rdrr.io/cran/psy/man/lkappa.html
Da ist zwar kein Signifikanztest dabei, aber bei der Examples wird klar vorgemacht, wie man einen mittels bootstrapping selbst machen kann. Da gäbe es also noch eine einfache Ausweichmöglichkeit, wenn es wirklich nur an der Implementierung liegen sollte.

JMTC,
Bernhard