Wilcox.test mit mehr als 2 groups?

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

Moderatoren: EDi, jogo

Mali789
Beiträge: 7
Registriert: Mo Aug 17, 2020 9:38 pm

Wilcox.test mit mehr als 2 groups?

Beitrag von Mali789 »

Hallo zusammen,

Zu aller erst...das Forum hier ist super.
Ich sitze gerade an meiner Hausarbeit in quantitativer Forschung mit R und komme gerade nicht mehr weiter.
Mein Datensatz handelt von Bewerbungen in unterschiedlichen Branchen.

Ich habe eine Nullhypothese aufgestellt, dass es in der IT Branche mehr Bewerber gibt als in anderen Bereichen.

Mein Datensatz ist bereits auf 3 Variablen bereinigt.

Social= Social Media Anzeige (nein=0, ja=1)
Application= Anzahl Bewerbungen
Sector= Branche

Nun wollte ich für meine These den Wilcox.test durchführen um einen p-Wert zu erhalten. Problem ist aber das dieser nur 2 Gruppen zulässt und ich aber 5 Branchen/Werte in der Variable habe. Da war mein Gedanke ich Bündel alle 4 anderen Branche und stelle Sie der IT gegenüber, jedoch weiß ich leider nicht wie ich das tue...kann mir jemand helfen? Oder sollte ich eine ganz andere Methode nutzen?
Dateianhänge
Datensatz
Datensatz
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: Wilcox.test mit mehr als 2 groups?

Beitrag von bigben »

Du könntest eine neue Spalte erstellen, die it von nicht-it unterscheidet. Vorschläge, wie das gehen könnte, gibt es hier: viewtopic.php?f=20&t=2162

Welche Rolle soll die Variable Social bei der Auswertung zukommen?

LG, Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Mali789
Beiträge: 7
Registriert: Mo Aug 17, 2020 9:38 pm

Re: Wilcox.test mit mehr als 2 groups?

Beitrag von Mali789 »

Danke dir für die sehr schnelle Antwort!

Schaue ich mir mal an und melde mich danach.
Die Variable Social taucht in 2 der anderen Hypothesen auf.
Mali789
Beiträge: 7
Registriert: Mo Aug 17, 2020 9:38 pm

Re: Wilcox.test mit mehr als 2 groups?

Beitrag von Mali789 »

bigben hat geschrieben: Mo Aug 17, 2020 10:17 pm Du könntest eine neue Spalte erstellen, die it von nicht-it unterscheidet. Vorschläge, wie das gehen könnte, gibt es hier: viewtopic.php?f=20&t=2162
Ich habe gerade alles durchstöbert, aber so richtig schlau werde ich dennoch nicht....blutiger Anfänger...

Ich habe die Möglichkeiten mit recode und gruppieren entdeckt, aber ich weiß es wohl nicht wirklich auf mein Beispiel zu übertragen. Hättest du bitte nochmal einen genaueren Ansatz wie ich dies umsetzen kann? Danke schonmal!

Code: Alles auswählen

Dataset <- within(Dataset, {
  sec <- Recode(sector,
  'it=it;c( eb,mint,office,sano) = nonit', as.factor=TRUE)
})

Code: Alles auswählen

Dataset <- within(Dataset, {
  sectorit <- Recode(sector, 
  'it="it"; eb="nonit"; mint="nonit"; office="nonit"; sano="nonit";', as.factor=TRUE)
leider haben beide Varianten nicht funktioniert, weiß aber nicht was genau ich falsch gemacht habe
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: Wilcox.test mit mehr als 2 groups?

Beitrag von bigben »

Eine Funktion Recode mit großem R kenne ich nicht.

Bitte stell ein paar Beispieldaten ein, wenn Du selbst nicht klar kommst.

"Hat nicht funktioniert " ist nie ein Ersatz für die genaue Fehlermeldung .

LG, Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Mali789
Beiträge: 7
Registriert: Mo Aug 17, 2020 9:38 pm

Re: Wilcox.test mit mehr als 2 groups?

Beitrag von Mali789 »

bigben hat geschrieben: Di Aug 18, 2020 6:34 am Eine Funktion Recode mit großem R kenne ich nicht.
Die Funktion enstand über "Datenmanagement > Variablen bearbeiten > Rekodiere Variablen
Bitte stell ein paar Beispieldaten ein, wenn Du selbst nicht klar kommst.
Dataset.csv
(98.46 KiB) 19-mal heruntergeladen
"Hat nicht funktioniert " ist nie ein Ersatz für die genaue Fehlermeldung .
[5] FEHLER: Objekt 'sector' nicht gefunden

Sorry wenn ich mich hier gefühlt mega dumm anstelle
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: Wilcox.test mit mehr als 2 groups?

Beitrag von bigben »

Mali789 hat geschrieben: Di Aug 18, 2020 8:00 amSorry wenn ich mich hier gefühlt mega dumm anstelle
Keine Sorge, wir haben hier alle mal angefangen und wissen, dass sich R am Anfang nicht gerade anschmiegsam verhält. Halte durch. Das lohnt sich.
Wir wissen auch, wie das Vorgehen hier im Forum gut funktioniert und mit den Beispieldaten lässt sich gut arbeiten. In Zukunft daher gerne gleich mit Beispieldaten ins Haus fallen. ;)

Schau mal, wie Du mit dem folgenden klar kommst:

Code: Alles auswählen

bewerber <- read.csv("http://forum.r-statistik.de/download/file.php?id=1084")

bewerber$is.it <- ifelse(bewerber$sector == "it", yes = "it", no = "non it")

print(bewerber[15:25, ]) # mal in die Daten schauen, ob es geklappt hat


# Wieviele applications gibt es durchschnittlich in beiden Gruppen?
aggregate(bewerber$application, list(bewerber$is.it), FUN = mean)

# Was sagt der Rangsummentest ? 
wilcox.test(application ~ is.it, data = bewerber)

# Geht das auch mit dem t-Test?
t.test(application ~ is.it, data = bewerber)

# und jetzt noch eine Grafik zum Vergleich
par(mfrow = c(2,1), mar = c(4.5, 3, 1,1))
plot(table(subset(bewerber, is.it == "it")$application), 
     xlim = c(0, 25), ylim = c(0, 3500), xlab="Bewerbungen in der IT")
plot(table(subset(bewerber, is.it == "non it")$application), 
     xlim = c(0, 25), ylim = c(0, 3500), xlab = "Bewerbungen Nicht-IT")
     
# Alternative Grafik

par(mfrow = c(1,1), mar = c(4.5, 4, 1,1))
t.it <- table(subset(bewerber, is.it == "it")$application)
t.n.it <-  table(subset(bewerber, is.it == "non it")$application)
plot(t.it, type = "b", ylab = "Anzahl",
     xlim = c(0, 6), ylim = c(-20, 3500), xlab="Bewerbungen")
points(t.n.it, type="b", pch = 2)
abline(h = 0, col = "grey")
abline(v = seq(0, 10, 1), col = "grey", lty=3)
text(0:6, t.it[1:7]+100, labels = t.it[1:7])
text(0:6, t.n.it[1:7]-100, labels = t.n.it[1:7])
legend("topright", pch = c(1, 2), legend = c("IT", "Nicht - IT"), inset = .01)
Rplot02.jpeg
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Mali789
Beiträge: 7
Registriert: Mo Aug 17, 2020 9:38 pm

Re: Wilcox.test mit mehr als 2 groups?

Beitrag von Mali789 »

Schau mal, wie Du mit dem folgenden klar kommst:
Hat super funktioniert, danke Bernhard!
Ich wollte jetzt zusätzlich zum T-Test auch mal den Chi² Test anweden und dann mit cramersV noch die Effektstärke ermitteln.

Mit

Code: Alles auswählen

chisq.test(xtabs(~is.it+social, data=Dataset), correct=FALSE)
konnte ich den p-Wert bestimmen (analog des T-Tests).

Daraufhin wollte ich wie besagt mit cramersV die Effektstärke ermitteln.

Der Versuch hier war:

Code: Alles auswählen

cramersV(xtabs(~ is.it+social, data=Dataset))
Leider bekomme ich dann aber den Fehler...

Code: Alles auswählen

konnte Funktion "cramersV" nicht finden
Was mache ich hier falsch? Fehlt mir ein Paket?
Dateianhänge
Dataset.csv
(133.14 KiB) 15-mal heruntergeladen
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Wilcox.test mit mehr als 2 groups?

Beitrag von EDi »

Code: Alles auswählen

konnte Funktion "cramersV" nicht finden
Wo kommt denn diese Funktion her? Aus irgendeinem Paket?
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.
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: Wilcox.test mit mehr als 2 groups?

Beitrag von bigben »

Mali789 hat geschrieben: Di Aug 18, 2020 9:31 pmWas mache ich hier falsch? Fehlt mir ein Paket?
R selbst kommt erstmal nicht mit einer solchen Funktion und wahrscheinlich ist, dass Du diesen Aufruf aus fremdem Code übernommen hast, der sich auf ein Paket stützt. Da helfen dann Suchmaschinen. Hier im Forum wurde mal eine Funktion CramerV aus dem Paket DescTools besprochen, dann findet Google noch eine Funktion cramerV im Paket rcompanion und bestimmt lassen sich noch weitere Implementierungen finden. Welche Deine Quelle jetzt im Sinn hatte, werden wir nicht beantworten können.

LG,
Bernhard

Edit: Das Gefühl täuscht nicht, es gibt weitere Implementierungen, z. B. Funktion cramer im Paket sjstats oder mit Monte Carlo Konfidenzinterval in der Funktion chiperm in GmAMisc.
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten