Mediansplit

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

FCuhls
Beiträge: 13
Registriert: Sa Jan 25, 2020 9:47 pm

Mediansplit

Beitrag von FCuhls »

Hallihallo! Ich brauche Hilfe mit dem Mediansplit.. Meine Hypothese lautet : "Ineffektive Copingstrategien werden häufiger von Studierenden mit dem höheren Stresserleben verwendet als von Studierende mit einem geringeren Stresserleben“. Ich würde nun gerne im ersten Schritt einen Mediansplit durchführen, um zwei homogene Gruppen zu bilden und anschließend dann den Wilcoxon Test. Kann mir jemand helfen? Irgendwie funktioniert das nicht.

Meine Datensatz heißt: Stresserleben_Studierende
Variablen : Stress.Index und Ineffektiv.Index


Vielen Dank vorab :)

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

Re: Mediansplit

Beitrag von bigben »

Beispiel für einen Wilcoxon-Test nach Mediansplit:

Code: Alles auswählen

werte <- data.frame(buchstaben = LETTERS,
                    messwerte = runif(26),
                    zahlen = 1:26)

werte$split <- cut(werte$messwerte, breaks = c(-Inf, median(werte$messwerte), Inf),
                   labels = c("niedriger als Median", "höher als Median"))

head(werte)
boxplot(werte$messwerte ~ werte$split)

wilcox.test(werte$zahlen ~ werte$split)
Ich muss aber unbedingt einmal dazu sagen, dass ein Median-Split fast nie die bessere Auswertungsstrategie ist.

HTH,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
FCuhls
Beiträge: 13
Registriert: Sa Jan 25, 2020 9:47 pm

Re: Mediansplit

Beitrag von FCuhls »

Hey Bernhard, vielen vielen Dank! Es hat geklappt.

Ps: Welches Vorgehen würdest du denn empfehlen, anstelle des Mediansplits?

Lieben Gruß

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

Re: Mediansplit

Beitrag von bigben »

Stellen wir uns eine Studierende mit ganz niedrigem Stresserleben vor und nennen Sie A. Jetzt stellen wir uns eine Studierende mit Stresserleben ganz knapp unter dem Median vor und nennen sie B. Eine dritte hat ein Stresserleben ganz knapp über dem Median, die nennen wir C.
A und B sind sehr unterschiedlich im Stresserleben, B und C sind sehr ähnlich. Dennoch fallen A und B bei Deinem Mediansplit in dieselbe Gruppe und B und C in verschiedene. Das ist offensichtlich nicht sinnvoll.
Eine einfache Korrelationsrechnung beantwortet Deine Frage und hat das genannte Problem nicht. Deshalb würde ich da die Korrelation

Code: Alles auswählen

cor.test(Stress.Index, Ineffektiv.Index, data = Stresserleben_Studierende)
besser finden. Die Information, dass A und B unterschiedlich sind geht dabei nicht verloren, beim Mediansplit wird diese Information verworfen.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
FCuhls
Beiträge: 13
Registriert: Sa Jan 25, 2020 9:47 pm

Re: Mediansplit

Beitrag von FCuhls »

Hey, super! Dann werde ich das so machen. Eine Frage noch zum Schluss, weißt du wie ich den "Steigungsparameter" berechnen kann? also:

Die Regressionsgerade stellt den positiven Zusammenhang dar. Mit der Zunahme an ineffektiven Copingstrategien nimmt das Stresserleben um einen Wert von xy zu (Steigungsparameter = .xy) ?


Lieben Gruß
ruppy
Beiträge: 41
Registriert: Mo Nov 04, 2019 10:05 pm

Re: Mediansplit

Beitrag von ruppy »

Die Idee mit dem Mediansplit und dem Wilcoxon-Test basiert wahrscheinlich auf dem Umstand, dass die Daten eigentlich ordinales Skalenniveau haben.
Also sollte man bei der Berechnung der Korrelation voranstellen, dass man metrisches Skalenniveau unterstellt ("quasi-metrisch").

Ändert aber nichts daran, dass bigben Recht hat.

Ich weiß ist off-top, da es nichts mit R zu tun hat, aber ich wollte auch meinen Senf dazugeben.
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mediansplit

Beitrag von bigben »

Der Hinweis auf das Skalenniveau ist wichtig, insbesondere vor dem Hintergrund der Frage nach der "Steigung". Korrelation könnte man auch auf ordinalem Niveau nach Spearman berechnen, eine Steigung beruht Ihrer Natur nach darauf, dass man sie multiplizieren kann.

@Fenja

Code: Alles auswählen

bsp <- data.frame(a = c(1, 2, 3, 4.5, 5, 6, 7.2),
                  b = 1:7*pi)

lineares.modell <- lm(b ~ a, data = bsp)
print(summary(lineares.modell))
print(coef(lineares.modell))

plot(b ~ a, data = bsp, main = "Steigung ist 3.05")
abline(lineares.modell, col = "blue")
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
FCuhls
Beiträge: 13
Registriert: Sa Jan 25, 2020 9:47 pm

Re: Mediansplit

Beitrag von FCuhls »

Hey! Vielen Dank @ruppy, wie genau lautet der Befehl bzgl. der Korrelation dann? Nur mit quasi-metrisch davor funktioniert es nicht.


Vielen vielen Dank vorab!

Fenja
ruppy
Beiträge: 41
Registriert: Mo Nov 04, 2019 10:05 pm

Re: Mediansplit

Beitrag von ruppy »

Hi Fenja,

meine Antwort hatte nichts mit R, sondern mit Statistik zu tun.
Für die Berechnung einer Korrelation nach Bravais-Pearson sollten die Daten metrisches Niveau aufweisen (das ist die Art von Korrelation an die der Laie bei der Nennung dieses Begriffs i.d.R. denkt)

Ich gehe davon aus, dass deine Daten aber eher ordinales Skalenniveau haben, da sie wahrscheinlich mittels Fragebogen erhoben wurden ("stimme zu", "stimme sehr zu").

Daher darfst du eigentlich nicht die Korrelation nach Bravais-Pearson berechnen, außer du unterstellst, dass die Daten "quasi-metrisch" sind.
Siehe hierzu:

https://studlib.de/4498/medien/ordinale_skalierung


Dementsprechend kannst du in deinem R-Code auch nicht den String "quasi-metrisch" verwenden. Du solltest aber in deinem Bericht, deiner Hausarbeit, was auch immer schreiben, dass du diese Annahme triffst unabhängig davon, ob du Korrelationen oder Regressionen rechnest.

Oder: Du berechnest die Korrelation nach Spearman, die auf Rängen basiert und somit ordinales Skalenniveau zulässt.

Hier ein bisschen Code für Korrelationen und entsprechende Test nach Bravais-Pearson sowie Spearman:

Code: Alles auswählen

x <- c(1,2,3,4,5,6)
y <- c(6,5,4,3,2,1)

cor(x, y, method = "pearson")
cor(x, y, method = "spearman")

cor.test(x, y, method = "pearson")
cor.test(x, y, method = "spearman")
Beachte bitte, dass in diesem Beispiel die Werte der Vektoren x und y ein bisschen dämlich gewählt sind (perfekt negativ korreliert).

BG ruppy
Cancermind
Beiträge: 3
Registriert: So Feb 23, 2020 2:38 pm

Re: Mediansplit

Beitrag von Cancermind »

bigben hat geschrieben: Sa Feb 01, 2020 2:12 pm Beispiel für einen Wilcoxon-Test nach Mediansplit:

Code: Alles auswählen

werte <- data.frame(buchstaben = LETTERS,
                    messwerte = runif(26),
                    zahlen = 1:26)

werte$split <- cut(werte$messwerte, breaks = c(-Inf, median(werte$messwerte), Inf),
                   labels = c("niedriger als Median", "höher als Median"))

head(werte)
boxplot(werte$messwerte ~ werte$split)

wilcox.test(werte$zahlen ~ werte$split)
Ich muss aber unbedingt einmal dazu sagen, dass ein Median-Split fast nie die bessere Auswertungsstrategie ist.

HTH,
Bernhard
Hey Bernhard,

wäre dann nicht ein Mediansplit in drei Gruppen (niedrig, mittel und hoch) eine Alternative?
Wüsstest du auch hierzu den Befehl? Ich habe bisher ausschließlich Zusammenhangshypothesen formuliert und bereits die Korrelation zwischen der Aufgabenvielfalt und der Gesamtzufriedenheit nachgewiesen. Jetzt würde ich gerne prüfen, ob Mitarbeiter mit eine hohen Aufgabenvielfalt zufriedener sind, als Mitarbeiter mit einer mittleren oder geringen Aufgabenvielfalt.

LG, Hannah
Antworten