Datenaufbereitung
Datenaufbereitung
-
Zuletzt geändert von Wueh7 am Fr Aug 28, 2020 4:59 pm, insgesamt 2-mal geändert.
Re: Datenaufbereitung
Hallo Wueh,
zu Schritt A schau Dir mal die Funktion subset an.
Zu B: Darfst Du Entscheidungsbäume benutzen? Das Package rpartwürde die Arbeit erheblich erleichtern, aber vermutliche gibt es Restriktionen bezüglich durchgenommener und nicht durchgenommener Techniken?
Generell ist es bei Fragen dieser Art oft hilfreich, Beispieldaten in R-lesbarer Form zu posten. Siehe auch viewtopic.php?f=20&t=11
Ach ja, da war noch was: Willkommen im Forum.
LG,
Bernhard
zu Schritt A schau Dir mal die Funktion subset an.
Zu B: Darfst Du Entscheidungsbäume benutzen? Das Package rpartwürde die Arbeit erheblich erleichtern, aber vermutliche gibt es Restriktionen bezüglich durchgenommener und nicht durchgenommener Techniken?
Generell ist es bei Fragen dieser Art oft hilfreich, Beispieldaten in R-lesbarer Form zu posten. Siehe auch viewtopic.php?f=20&t=11
Ach ja, da war noch was: Willkommen im Forum.
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Datenaufbereitung
-
Zuletzt geändert von Wueh7 am Fr Aug 28, 2020 5:00 pm, insgesamt 1-mal geändert.
Re: Datenaufbereitung
Hallo Wueh,
das ist mir alles etwas viel und ich komme mit den Variablen nicht hinterher.
Ich habe keine Ahnung, was die Variable X jetzt beinhaltet. Brauchen wir die? Sie scheint im Text nicht wirklich vorzukommen. Ansonsten haben wir schön viele Beobachtungen und wenig NA. Die Prädiktoren px?? reichen alle von 1 bis 5 wie es gewünscht ist. pv01 scheint unsere Zielvariable zu sein. Da es nur zwei Möglichkeiten gibt, erscheint es wenig sinnvoll, die mit den numerischen Werte 1 und 42 zu hinterlegen, denn 42 * CDU ist ja nicht gleich AfD. Also wandel ich die in Faktoren um:
Die Fragestellung lautete
Das kann dann z. B. so aussehen:
Das führt zu folgendem Ergebnis:
Damit wird ganz schnell und übersichtlich klar, dass px02 über 2 zu AfD-Wählern führt aber auch, welche anderen Kombinationen noch AfD-Wähler vorhersagen. Diese Vorgehensweise sagt Dir also nicht nur welche Variablen trennen, sondern auch bei welchen Werten sie trennen.
Das party-Paket kommt mit zwei Vignetten, die vielleicht ein guter Leseeinstieg sind: https://cran.r-project.org/web/packages ... index.html
Auch der Hilfeeintrag zur Funktion ctree, erreichbar mit help("ctree") ist sehr lesbar und sehr informativ (man könnte Teile daraus direkt in den Methodenteil der Arbeit codieren).
Alternativ dazu macht auch ggparty coole Grafiken: https://cran.r-project.org/web/packages ... tying.html
Jetzt wäre ich aber doch gespannt, was sich hinter px01 bis px04 für Formulierungen verstecken.
HTH,
Bernhard
das ist mir alles etwas viel und ich komme mit den Variablen nicht hinterher.
Da sind aber zwei csv-Dateien im Anhang. Ich habe also erstmal die kleinere Deiner Dateien eingelesen:Diesen Teildatensatz habe ich als csv-Datei in den Anhang gepackt.
Code: Alles auswählen
> sonntag <- read.csv2("http://forum.r-statistik.de/download/file.php?id=1103")
> str(sonntag)
'data.frame': 1040 obs. of 6 variables:
$ X : int 3 9 11 12 13 15 16 18 22 26 ...
$ pv01: int 1 1 42 1 1 1 1 1 1 1 ...
$ px01: int 3 4 5 4 5 5 4 4 4 5 ...
$ px02: int 3 4 5 NA 5 5 4 4 4 3 ...
$ px03: int 1 1 4 NA 1 3 1 1 1 1 ...
$ px04: int 2 1 4 NA 1 3 1 3 1 1 ...
> summary(sonntag)
X pv01 px01 px02 px03
Min. : 3.0 Min. : 1.00 Min. :1.000 Min. :1.000 Min. :1.000
1st Qu.: 865.2 1st Qu.: 1.00 1st Qu.:4.000 1st Qu.:4.000 1st Qu.:1.000
Median :1753.5 Median : 1.00 Median :5.000 Median :4.000 Median :1.000
Mean :1737.5 Mean :10.78 Mean :4.285 Mean :4.099 Mean :1.701
3rd Qu.:2574.2 3rd Qu.: 1.00 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:2.000
Max. :3476.0 Max. :42.00 Max. :5.000 Max. :5.000 Max. :5.000
NA's :14 NA's :20 NA's :25
px04
Min. :1.000
1st Qu.:1.000
Median :1.000
Mean :1.868
3rd Qu.:3.000
Max. :5.000
NA's :37
Code: Alles auswählen
sonntag$partei <- as.factor(sonntag$pv01)
levels(sonntag$partei) <- c("CDU", "AfD")
Und ich habe vorgeschlagen, dafür einen Entscheidungsbaum zu verwenden. Abweichend vom oben vorgeschlagenen nehme ich das Paket party, welches Du Dir einmalig mit install.packages("party") herunterladen müsstest.Welches der genannten Items trennt am besten zwischen den Wählern der AFD und den Wählern der CDU/CSU:
p01,p02,p03 oder p04"
Das kann dann z. B. so aussehen:
Code: Alles auswählen
library(party)
mod <-ctree(partei ~ px01 + px02 + px03 + px04, data = sonntag)
plot(mod)
Damit wird ganz schnell und übersichtlich klar, dass px02 über 2 zu AfD-Wählern führt aber auch, welche anderen Kombinationen noch AfD-Wähler vorhersagen. Diese Vorgehensweise sagt Dir also nicht nur welche Variablen trennen, sondern auch bei welchen Werten sie trennen.
Das party-Paket kommt mit zwei Vignetten, die vielleicht ein guter Leseeinstieg sind: https://cran.r-project.org/web/packages ... index.html
Auch der Hilfeeintrag zur Funktion ctree, erreichbar mit help("ctree") ist sehr lesbar und sehr informativ (man könnte Teile daraus direkt in den Methodenteil der Arbeit codieren).
Alternativ dazu macht auch ggparty coole Grafiken: https://cran.r-project.org/web/packages ... tying.html
Jetzt wäre ich aber doch gespannt, was sich hinter px01 bis px04 für Formulierungen verstecken.
HTH,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Datenaufbereitung
-
Zuletzt geändert von Wueh7 am Fr Aug 28, 2020 5:00 pm, insgesamt 1-mal geändert.
Re: Datenaufbereitung
Schade, aber so hast Du hier im Forum was gelernt, was Du Dir für später mal merken kannst.
Danke. Mich hat das Blatt Node 7 im Baum interessiert. Zeit für Nationalgefühl aber nicht so stolz, Deutscher zu sein -- das heißt dann wohl, dass man in einem anderen Deutschland stolz wäre, Deutscher zu sein. Ach, vielleicht hätte ich gar nicht fragen sollenHier die Aussagen hinter den Items px01, usw, da dich diese interessieren :
px01: Ich bin stolz, ein Deutscher zu sein.
px02: Wir sollten endlich wieder Mut zu einem starken Nationalgefühl haben.
px03: Unter bestimmten Umständen ist eine Diktatur die bessere Staatsform.
px04: Der Nationalsozialismus hatte auch seine guten Seiten.
Das hört sich so selbstverständlich an, aber man hätte auch konstant mit einem von beiden arbeiten können.Ich habe nun Mittelwertvergleiche für unabhängige Messungen bei zwei Gruppen (AfD-Wähler und CDU/CSU-Wähler) genommen und je nach Item mit dem t-test oder dem Mann-Whitney-U-Test gearbeitet.
Etwas, das nur 5 verschiedene Werte annehmen kann kann gar nicht normalverteilt sein, weil die Normalverteilung keine diskrete Verteilung ist. Aber das ist schon ok, wenn Ihr das so gelernt habt--> Keine Normalverteilung, also den Mann-Whitney-U-Test:
Ich bin ziemlich sicher, dass Du das nicht so gemeint hast, wie Du es programmiert hast. Einmal erscheint es mir ungewöhnlich, einseitig zu testen. Bist Du ganz sicher, dass Ihr einseitig testen sollt?? Zum anderen vergleichst Du hier eine Variable die Werte zwischen 1 und 5 annehmen kann mit einer, die nur die Werte 1 und 2 annehmen kann. Du wolltest wahrscheinlich schreiben:Code: Alles auswählen
wilcox.test(df3$px02, df3$pv01, alternative = "less")
Code: Alles auswählen
wilcox.test(df3$px02 ~ df3$pv01)
Ich würde hier nicht auf Varianzhomogenität testen und einfach immer einen t-Test für ungleiche Varianzen machen, aber auch da solltest Du Dich nach dem richten, was gelehrt wurde.Code: Alles auswählen
leveneTest (df3$px04, df3$partei)
Die Rangsummentests musst Du alle nochmal mit der Tilde ~ machen!
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Datenaufbereitung
-
Zuletzt geändert von Wueh7 am Fr Aug 28, 2020 5:00 pm, insgesamt 1-mal geändert.
Re: Datenaufbereitung
Hallo Wueh,
px04 kann nicht im mathematischen Sinn aus einer Normalverteilung entstammen, da px04 nie den Wert -13,25768 annehmen kann, obwohl diesem Wert in jeder Normalverteilung eine gewisse Wahrscheinlichkeitsdichte größer Null zugeordnet wird. Deshalb kann px04 dennoch nah genug an einer Normalverteilung sein, um gewisse parametrische Verfahren für normalverteiltes sinnvoll anzuwenden.
Statistische Normalverteilungstests prüfen aber leider auf Normalverteilung und nicht auf Nah-genug-an-Normalverteilung. (Nicht nur) deshalb sind sie meistens wertlos.
Der t-Test wird gegen Abweichungen von Normalitätsannahmen zunehmend robust, je mehr Beobachtungen man untersucht. Bei Deinen Zahlen ist jede noch so schiefe Verteilung "normal genug". Wenn Du Zeit und Lust hast, kannst Du ja mal lesen, was ich hier geschrieben habe: https://stats.stackexchange.com/questio ... 581#307581
Wenn ich eine medizinische Arbeit mit einseitigem Test sehen würde, würde mich das erheblich argwöhnisch machen. Ich weiß aber natürlich nicht, wie das bei den Politologen ist.
LG,
Bernhard
Puh, ich weiß nicht, ob ich jetzt mehr helfe oder mehr verwirre. Die Kurzform lautet: Mach es für die Prüfung so, wie man es Dir beigebracht hat und mach Dir später nochmal richtige Gedanken. Richtige Gedanken gehen wie folgt: Normalverteilung ist ein mathematisches Ideal, dass in der materiellen Welt die wir Wirklichkeit nennen nicht vorkommt. Allein schon deshalb, weil sie von minus Unendlich bis plus Unendlich reicht und es nicht unendlich viele Elementarteilchen im Universum gibt. Die Theorie der Tests baut also auf einem mathematisch-theoretischen Konzept Normalverteilung auf, dem nie und nimmer irgendeine Verteilung in der Wirklichkeit gleich sein wird. Was uns in der praktischen Statistik interessiert ist, ob etwas einer Normalverteilung nah genug kommt, um Methoden anzuwenden, die für Normalverteilungen erdacht worden sind. Dabei stellt sich dann oft genug heraus, dass "nah genug" ganz schön weit weg sein kann.Aus deiner Antwort schließe ich, dass meine Annahme falsch ist, dass bei px04 eine Normalverteilung vorliegt?Etwas, das nur 5 verschiedene Werte annehmen kann kann gar nicht normalverteilt sein, weil die Normalverteilung keine diskrete Verteilung ist. Aber das ist schon ok, wenn Ihr das so gelernt habt
px04 kann nicht im mathematischen Sinn aus einer Normalverteilung entstammen, da px04 nie den Wert -13,25768 annehmen kann, obwohl diesem Wert in jeder Normalverteilung eine gewisse Wahrscheinlichkeitsdichte größer Null zugeordnet wird. Deshalb kann px04 dennoch nah genug an einer Normalverteilung sein, um gewisse parametrische Verfahren für normalverteiltes sinnvoll anzuwenden.
Statistische Normalverteilungstests prüfen aber leider auf Normalverteilung und nicht auf Nah-genug-an-Normalverteilung. (Nicht nur) deshalb sind sie meistens wertlos.
Der t-Test wird gegen Abweichungen von Normalitätsannahmen zunehmend robust, je mehr Beobachtungen man untersucht. Bei Deinen Zahlen ist jede noch so schiefe Verteilung "normal genug". Wenn Du Zeit und Lust hast, kannst Du ja mal lesen, was ich hier geschrieben habe: https://stats.stackexchange.com/questio ... 581#307581
Erneut: Mach für die Note, was unterrichtet wurde, später denkst Du selbst nochmal darüber nach und schaust Dich auch um, was in Deinem Feld Usus ist. Ich finde ganz gut, was auf dieser Seite als FAQ3 beschrieben steht: https://psychologie.uni-graz.at/de/biol ... -list/faq/1. In unserem Skript steht sowohl etwas von einseitigen Tests, als auch von zweiseitigen Tests. Da ich in meinem Fall eine einseitige Alternativ-Hypothese habe und der erste Mittelwert kleiner ist, habe ich mir für alternative = "less" entschieden.
Wenn ich eine medizinische Arbeit mit einseitigem Test sehen würde, würde mich das erheblich argwöhnisch machen. Ich weiß aber natürlich nicht, wie das bei den Politologen ist.
Ich würde die H0 und die Alternativhypothese immer zweiseitig formulieren. Stell Dir mal vor, die AfDler würden weniger Nationalgefühl einfordern als die CDU/CSU. Wäre das nicht eine viel größere Schlagzeile als anders herum? Würdest Du den Fall als irrelevant weil nicht Fragestellung Deiner Forschung einsortieren? Wohl kaum.Alternativhypothese zu px02:
Die Wähler der AFD stimmen dem Statement in höherem Maße zu als die Wähler der CDU/CSU.
Habe ich das mit einseitig und zweiseitig evtl. falsch interpretiert?
Dann hoffe ich, dass es mit richtiger Syntax und zweiseitiger Testung jetzt auch nicht mehr an Signifikanzen mangelt.2. Das mit dem "," anstatt der Tilde "~" war tatsächlich ein Fehler von mir. Vielen Dank für den Hinweis!
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Datenaufbereitung
Ohne die gelöschten Fragen sind Bernhards Antworten nicht sehr hilfreich ...
fortune(111)
Re: Datenaufbereitung
Stimme zu, das ist asozial. Sich so oft für die Hilfe bedanken, aber Threads nicht als Hilfe für später kommende stehen zu lassen.
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte