Items zu ordinalem Sum-Score, jedoch nicht mehr für Regression geeignet?

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Items zu ordinalem Sum-Score, jedoch nicht mehr für Regression geeignet?

Beitrag von bigben »

Nachtrag: Stammt Deine Funktion polr aus dem Package MASS? Wahrscheinlich schon. Was ergibt denn

Code: Alles auswählen

polr(ER03 ~ EM_sum, data=ER, Hess=TRUE)$df.freedom
Sollte man nicht aus den residual degrees of freedom und der Residual deviance einen Test basteln können?

(Wobei ich eigentlich immer noch gedanklich bei der Spearman-Korrelation stecke. KISS - keep it simple, stupid)

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
RRechnende
Beiträge: 7
Registriert: Mi Dez 18, 2019 11:16 pm

Re: Items zu ordinalem Sum-Score, jedoch nicht mehr für Regression geeignet?

Beitrag von RRechnende »

Freiheitsgrade habe ich (eigentlich) 180. Ja, polr ist vom Paket MASS. Ich habe den R-Input mit den Freiheitsgraden gerade mal ausprobiert. Output ist NULL


Ach, die Spearman-Korrelation... Das hatte ich natürlich auch ausprobiert. Dadurch, dass ich

Code: Alles auswählen

ER$ER03 = ordered(ER$ER03)
die Variable als ordinal skaliert definierte, geht bei mir leider die Spearman-Korrelation nicht, obwohl diese ja eigentlich auch für ordinale Variablen in Ordnung wäre. Da ich dann hier nicht mehr weiter kam, habe ich mich für die ordinal logistische Regression entschieden. Ist das eine falsche Vorgehensweise?

R-Input:

Code: Alles auswählen

cor.test(ER$ER03, ER$EM_sum, method = "spearman")
R-Output:

Code: Alles auswählen

> cor.test(ER$ER03, ER$EM_sum, method = "spearman")
Fehler in cor.test.default(ER$ER03, ER$EM_sum, method = "spearman") : 
  'x' muss ein numerischer Vektor sein
> 
Wenn ich die Normalverteilung ausgeben lasse, sehen alle drei Kurven gleich aus, bzw. legen sich übereinander und sind eins zu eins gleich. Es kommt eine Fehlermeldung, weil hier
col="violet", , lty=2,
etwas fehlt?
bigben hat geschrieben: Di Feb 04, 2020 8:15 am

Code: Alles auswählen

curve(dnorm(x), from = -5, to = 5, col="blue")
curve(dt(x, 50), from = -5, to = 5, col="red", add = TRUE)
curve(dt(x, 100), from = -5, to = 5, col="violet", , lty=2, add = TRUE)
legend("topright", fill = c("blue", "red", "violet"), 
       legend = c("Normal", "t mit df = 50", "t mit df = 100"))
Also kann ich auch einfach den t-Wert berichten. Da war ich mir ja unsicher. Denke nicht, dass mich der Prof dafür umbringen wird und wahrscheinlich weiss er selber nicht, wie das anders sein sollte :mrgreen: Und wegen Noten: Es ist eine unbenotete Studienleistung, also eigentlich krass, dass ich überhaupt so viel Zeit da rein stecke. Aber ich möchte es nun auch genau wissen... Lerne das nämlich nicht für nichts :)
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Items zu ordinalem Sum-Score, jedoch nicht mehr für Regression geeignet?

Beitrag von bigben »

Nein, falsch ist das nicht, nur viel komplizierter als eine Korrelation . Das ordered wäre mit einem as.numeric ja auch wieder rückgängig zu machen. Wenn es um die Signifikanz geht würde ich nur korrelieren, wenn es um die Vorhersage von Wahrscheinlichkeiten geht, regredieren. Oder regredieren um das zu lernen ;-)

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
RRechnende
Beiträge: 7
Registriert: Mi Dez 18, 2019 11:16 pm

Re: Items zu ordinalem Sum-Score, jedoch nicht mehr für Regression geeignet?

Beitrag von RRechnende »

Da ich nun eigentlich alles fertig habe und nur noch darüber nachgedacht habe, wie ich nun den ausgegebenen T-Wert berichten soll (dieser Teil des Berichtes ist auch schon geschrieben), belasse ich es nun bei der ordinalen logistischen Regression und werde auch den von EDi erklärten Weg nutzen, um (für mein Gewissen) einen runden Schluss zu ziehen bei der Berichtung, also den (überbewerteten) p-Wert dennoch einfügen.

Der Output der Spearman's Rangkorrelation zeige ich euch dennoch auch nochmal (da es mit as.numeric nun wirklich auch geklappt hätte, danke dafür! Manchmal sieht man vor lauter Bäumen den Wald nicht, wobei so richtig wäre das dann auch wieder nicht, oder? Wieso kann R eine ordinalskalierte Variabel in einer Spearman Korrelation nicht als solche annehmen? Irgendwie verwirrt mich bei solchen Dingen R gerne immer mal wieder...)

Code: Alles auswählen

Spearman's rank correlation rho

data:  ER$EM_sum and ER$ER03
S = 464048, p-value < 2.2e-16
alternative hypothesis: true rho is not equal to 0
sample estimates:
      rho 
0.5742037 
Ich danke euch herzlich für eure Hilfe!!
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Items zu ordinalem Sum-Score, jedoch nicht mehr für Regression geeignet?

Beitrag von bigben »

RRechnende hat geschrieben: Mi Feb 05, 2020 9:02 pmWieso kann R eine ordinalskalierte Variabel in einer Spearman Korrelation nicht als solche annehmen? Irgendwie verwirrt mich bei solchen Dingen R gerne immer mal wieder...)
Ich halte das auch für blöd gemacht und bin selbst mehr als einmal darüber gestolpert. Hat ja keiner gesagt, dass sich an R nichts verbessern ließe. Wenn es einen wirklich stören sollte, dann kannst Du Dir eine eigene Funktion dafür schreiben. Sowas in der Art

Code: Alles auswählen

spearman.test <- function(x, y) cor.test(as.numeric(x), as.numeric(y), method="spearman")
sollte funktionieren :mrgreen:

Lohnt sich aber nicht, sich daran zu gewöhnen - bestimmt wird das Hadleyverse demnächst um das Package tidycor erweitert, mit dem dann dann ganz aufgeräumt Korrelationen rechnen kann. :roll: Da werden dann 23 präzise Funktionen definiert (z. B. nf_spearman wenn man ein numeric mit einem factor korrellieren will) und bei allen wird einheitlich der Korrelationskoeffizient, p-Wert und die CI-Intervallgrenzen als tibble zurückgegeben :!: Natürlich müssen auch beide zu korrellierenden Variablen in einem Tibble stecken, damit man sie mit %>% in die Funktionen hineinpumpen kann.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Items zu ordinalem Sum-Score, jedoch nicht mehr für Regression geeignet?

Beitrag von EDi »

bigben hat geschrieben: Di Feb 04, 2020 8:15 am
EDi hat geschrieben: Mo Feb 03, 2020 8:27 pmWer p-Werte unbeding braucht :roll: Die bringen sowie keinen Mehrwert...
Na doch, die helfen ganz erheblich wenn man publizieren möchte und gute Noten bekommen möchte.
Ich protestiere! Ich habe sowohl Publikationen als auch Statistik-Kurse die ohne ohne p-Werte gemacht ;)
kannst Du Dir eine eigene Funktion dafür schreiben. Sowas in der Art
Ich würde pearson nehmen und ein rank() dazupacken:

Code: Alles auswählen

set.seed(1)
x <- 1:5
y <- 1:5 + rnorm(5)
xf <- factor(x, ordered = TRUE)

cor(x, y,  method = 'pearson')
cor(x, y, method = 'spearman')
cor(rank(x), rank(y), method = 'pearson')

# with xf
cor(xf, y, method = 'spearman') # fails
cor(as.numeric(xf), y, method = 'spearman')
cor(rank(xf), rank(y), method = 'pearson')
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Antworten