Seite 1 von 2
chi²-Test mit zwei Datensätzen
Verfasst: Di Apr 09, 2019 10:12 am
von electricEH
Hallo zusammen,
ich möchte die Geschlechterverteilung (1=weibl., 2=männl, 3=nicht zugeordnet) von zwei verschiedenen Datensätzen miteinander vergleichen. Ich denke, dass dafür ein chi²-Test sinnvoll wäre, weiß aber nicht, wie ich das in RStudio anwende, wenn ich keine Gruppenvariable habe, sondern zwei verschiedene Datensätze, die ich nicht so einfach in einem zusammenfassen kann, weil sie teilweise unterschiedliche Variablen haben.
Bin dankbar für jeden Tip!
Re: chi²-Test mit zwei Datensätzen
Verfasst: Di Apr 09, 2019 10:39 am
von jogo
Hallo EH,
kannst Du uns bitte das Ergebnis von summary(...) für die beiden Datensätze zeigen?
Gruß, Jörg
Re: chi²-Test mit zwei Datensätzen
Verfasst: Di Apr 09, 2019 12:12 pm
von electricEH
Das sind ziemlich große Datensätze mit vielen Variablen, falls du die komplette summary meinst.
Für die gender-Variable sieht das so aus:
> summary(data_eh$gender)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 1.00 1.00 1.35 2.00 3.00
> summary(data_jw$gender)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 1.000 1.000 1.203 1.000 3.000
Re: chi²-Test mit zwei Datensätzen
Verfasst: Di Apr 09, 2019 12:18 pm
von electricEH
Okay, es hat sich erledigt. Ich habe gemerkt, dass ich sowieso einen Gesamtdatensatz brauche und eine Gruppenvariable und das doch nicht so kompliziert ist wie ich dachte. Danke trotzdem

Re: chi²-Test mit zwei Datensätzen
Verfasst: Di Apr 09, 2019 12:47 pm
von jogo
electricEH hat geschrieben: Di Apr 09, 2019 12:12 pm
Das sind ziemlich große Datensätze mit vielen Variablen, falls du die komplette summary meinst.
Für die gender-Variable sieht das so aus:
> summary(data_eh$gender)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 1.00 1.00 1.35 2.00 3.00
> summary(data_jw$gender)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 1.000 1.000 1.203 1.000 3.000
ähhhm, ich hätte das jetzt so nicht erwartet, denn das Geschlecht ist sicher kein Merkmal, das kardinal skaliert ist.
Ich hätte also eher sowas erwartet wie bei:
Gruß, Jörg
Re: chi²-Test mit zwei Datensätzen
Verfasst: Mi Apr 10, 2019 3:13 pm
von electricEH
Naja, das liegt halt daran, dass die drei Geschlechtsoptionen im Umfrageprogramm den Zahlen 1 bis 3 zugeordnet waren. Wie kann ich die Skala denn im Nachhinein nominalskalieren, damit ich den chi²-Test gut durchführen kann?
Und ich verstehe nicht, was ich mit deinem Beispiel anfangen kann ohne dass ich die zugehörigen Daten habe.
Re: chi²-Test mit zwei Datensätzen
Verfasst: Mi Apr 10, 2019 3:49 pm
von bigben
Hallo electricEH,
R merkt sich zu allen Zahlen, ob sie nominalskalenniveau, ordinalskalenniveau, ganzzahlig metrisch oder Fließkommazahlen sind. Wenn man das richtig in R hinterlegt, passen sich viele Funktionen selbst an und es passiert nicht so ein Blödsinn wie die Mittelwertbildung aus der Geschlechtszuordnung. Eine Frau und ein Nicht-zugeordnet ergeben ja keine zwei Männer.
Nominalskalierte Daten haben in R den Typ
factor, ordinalskalierte den Typ
ordered, ganzzahlige den Typ
integer und normale Zahlen
numeric. Eine Umwandlung kann z. B. so erfolgen:
Code: Alles auswählen
sex1 <- c(2,3,1,1,2,1,1,2,3,1,1,1,2,2,2)
sex2 <- factor(sex1, labels = c("Frau", "Mann", "Divers"))
Das erleichtert vieles. Beispielsweise kann man nicht mehr versehentlich einen Mittelwert bilden:
Code: Alles auswählen
> mean(sex1)
[1] 1.777778
> mean(sex2)
[1] NA
Warning message:
In mean.default(sex2) :
Argument ist weder numerisch noch boolesch: gebe NA zurück
Beispielsweise passen die Grafikfunktionen sich an, wie Du an diesen beiden Plots siehst:
Code: Alles auswählen
sex1 <- c(2,3,1,1,2,1,1,2,3,1,1,1,2,2,2)
sex2 <- factor(sex1, labels = c("Frau", "Mann", "Divers"))
werte <- rnorm(length(sex1))
plot(werte ~ sex1, main = "Numerisches Geschlecht")
plot(werte ~ sex2, main = "Nominales Geschlecht")
Wenn man Regressionen rechnet, dann führt R automatisch eine Dummycodierung durch und so weiter und so fort. Es ist daher immer klug, R das Skalenniveau mitzuteilen.
LG,
Bernhard
Re: chi²-Test mit zwei Datensätzen
Verfasst: Mi Apr 10, 2019 3:50 pm
von jogo
electricEH hat geschrieben: Mi Apr 10, 2019 3:13 pm
Naja, das liegt halt daran, dass die drei Geschlechtsoptionen im Umfrageprogramm den Zahlen 1 bis 3 zugeordnet waren. Wie kann ich die Skala denn im Nachhinein nominalskalieren, damit ich den chi²-Test gut durchführen kann?
es gibt die Funktion
as.factor(), mit der man eine numerische Spalte in einen Faktror umwandeln kann. ... oder auch die Funktion
factor(), um einen Faktor zu erzeugen.
Und ich verstehe nicht, was ich mit deinem Beispiel anfangen kann ohne dass ich die zugehörigen Daten habe.
Bitte probiere den Code aus, um festzustellen, dass Du sehr wohl die Daten zur Verfügung hast. (R liefert ein ansehnliches Rudel an Daten standardmäßig mit.)
Gruß, Jörg
Re: chi²-Test mit zwei Datensätzen
Verfasst: Do Apr 11, 2019 8:26 am
von electricEH
Ihr habt recht, ich hab das jetzt umgewandelt.
Und danke Jörg, das wusste ich nicht, dass R selbst Daten hat.
Nur merke ich, dass jetzt bestimmte Rechnungen nicht mehr funktionieren, z.B. in einer Partialkorrelation für gender zu kontrollieren. Brauche ich dafür jetzt andere Tests?
Re: chi²-Test mit zwei Datensätzen
Verfasst: Do Apr 11, 2019 8:37 am
von electricEH
Meine Vorgängerin hat auch jeweils ein Regressionsgewicht für Gender angegeben, wenn sie das als Kontrollvariable mit in die Regression aufgenommen hat. Das geht dann auch nicht, weil bei nominalskalierten Variablen dann für jede Ausprägung ein Intercept angegeben wird (bzw. eins wird auf 1 gesetzt soweit ichd as verstanden habe). Oder gibt es irgendeine Möglichkeit, den Einfluss von Gender dann auf eine Zahl zu bringen?