Hausarbeit mit R

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

Moderatoren: EDi, jogo

Antworten
MaHe234
Beiträge: 9
Registriert: Do Feb 27, 2020 3:50 pm

Hausarbeit mit R

Beitrag von MaHe234 »

Mahlzeit zusammen!
Ich schreibe zur Zeit an einer Hausarbeit in Statistik.
Nun möchte ich einer meiner Hypothesen gerne in "R" berechnen/bearbeiten.
Leider stehe ich zur Zeit etwas auf dem Schlauch und bin mir unsicher.

Die Frage lautet:
HA: Männer(Mann/Frau) tragen schwerere Rücksäcke(Gewicht in Pfund) als Frauen. (Alternativhypothese)
H0: Männer tragen gleichschwere oder leichtere Rucksäcke als Frauen. (Nullhypothese)

Nun möchte ich mithilfe des t.test (hoffentlich richtige Wahl) die oben genannte HA analysieren.

Ich habe folgenden Befehl verwenden:

Code: Alles auswählen

> t.test(BackpackWeight ~ Sex, alternative="greater", data= Backpack_2)
Die Frage beläuft sich hier auf das "greater". Ist das notwendig für die Beantwortung der Frage oder könnte ich es theoretisch weg lassen und müsste dann anders antworten?

Code: Alles auswählen

Welch Two Sample t-test

data:  BackpackWeight by Sex
t = -1.1782, df = 86.25, p-value = 0.879
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
 -3.341674       Inf
sample estimates:
mean in group Female   mean in group Male 
            11.03636             12.42222 
Hier mein Outcome. Vielen Dank für die Mühen!

Mfg Max
Zuletzt geändert von jogo am Do Feb 27, 2020 4:19 pm, insgesamt 1-mal geändert.
Grund: Formatierung verbessert. http://forum.r-statistik.de/viewtopic.php?f=20&t=29
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Hausarbeit mit R

Beitrag von jogo »

Hallo Max,

willkommen im Forum!
Erstmal zu den Daten; so gibt es ein reproduzierbares Beispiel:

Code: Alles auswählen

Backpack_2 <- read.csv(row.names=1, "https://vincentarelbundock.github.io/Rdatasets/csv/Stat2Data/Backpack.csv")

tapply(Backpack_2$BackpackWeight, Backpack_2$Sex, mean)
https://vincentarelbundock.github.io/Rd ... asets.html
MaHe234 hat geschrieben: Do Feb 27, 2020 3:55 pm
Ich habe folgenden Befehl verwenden:

Code: Alles auswählen

> t.test(BackpackWeight ~ Sex, alternative="greater", data= Backpack_2)
Die Frage beläuft sich hier auf das "greater". Ist das notwendig für die Beantwortung der Frage oder könnte ich es theoretisch weg lassen und müsste dann anders antworten?
ja, es ist notwendig, wenn Du einen einseitigen Test durchführen möchtest.
Wenn Du einen zweiseitigen Test durchführen möchtest:

Code: Alles auswählen

t.test(BackpackWeight ~ Sex, data= Backpack_2)
Bitte auch den Hilfetext der Funktion t.test() lesen!

Gruß, Jörg
MaHe234
Beiträge: 9
Registriert: Do Feb 27, 2020 3:50 pm

Re: Hausarbeit mit R

Beitrag von MaHe234 »

Super, danke dir für die Antwort! Konnte es direkt einbauen :)

Komme ich direkt zur nächsten Frage und ich dachte mir, dass ich sie direkt hier poste, weil der Datensatz ja bereits gefunden wurde :)

Code: Alles auswählen

attach(Backpack_2)
plot(BodyWeight, BackpackWeight, main = "Zusammenhang Körpergewicht und Rucksackgewicht", xlab = "Körpergewicht", ylab = "Rucksackgewicht", pch=20) + abline(lm(BackpackWeight ~ BodyWeight), col="red")
Dieser Befehl spuckt mir - auch wenn er ein Bild mit eingezeichneter Regressionslinie ausspuckt - ein "interger (0)" an. Auch wenn das alles sinnvoll und richtig aussieht, habe ich Sorge dort etwas falsch zu machen. Könnte mich jemand aufklären?

Code: Alles auswählen

> plot(BodyWeight, BackpackWeight, main = "Zusammenhang Körpergewicht und Rucksackgewicht", xlab = "Körpergewicht", ylab = "Rucksackgewicht", pch=20) + abline(lm(BackpackWeight ~ BodyWeight), col="red")
integer(0)

Vielen Dank bereits im Voraus!

LG Max
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Hausarbeit mit R

Beitrag von jogo »

Hallo Max,

attach() ist böse - bitte sofort wieder vergessen!
viewtopic.php?p=169#p169

In R ist es so, dass jede Funktion ein Ergebnis liefert. Die Frage ist, welches Ergebnis soll eine Plot-Funktion zurückliefern?
In der Programmiersprache C ist es oft auch ein Errorcode - dort bedeutet 0 "alles in Ordnung". R hat einiges von C geerbt. Deshalb verhält es sich wohl hier auch so mit dem Ergebnis der Plot-Funktion.

Code: Alles auswählen

Backpack_2 <- read.csv(row.names=1, "https://vincentarelbundock.github.io/Rdatasets/csv/Stat2Data/Backpack.csv")

Mod <- lm(BackpackWeight ~ BodyWeight, data=Backpack_2)
plot(BackpackWeight ~ BodyWeight, data=Backpack_2, 
     main = "Zusammenhang Körpergewicht und Rucksackgewicht", 
     xlab = "Körpergewicht", ylab = "Rucksackgewicht", pch=20) + abline(Mod, col="red")
Gruß, Jörg
MaHe234
Beiträge: 9
Registriert: Do Feb 27, 2020 3:50 pm

Re: Hausarbeit mit R

Beitrag von MaHe234 »

Okay, dann vergesse ich den Befehl mal ganz schnell wieder. :D
Sah für mich ganz angenehm aus, aber ich höre da auf den Fachmann ;)

Stehe nun vor meiner vermeintlich letzten Frage, damit das mit der Hausarbeit noch was wird.
Im letzten Schritt ist eine Multiple Regressionsanalyse gefordert. Mein Ansatz als Alternativhypothese wäre folgender:
H3: Befragte mit Rückenproblemen tragen schwerere Rucksäcke als Befragte ohne Rückenprobleme, unabhängig von ihrer Zeit am College.
Nachdem ich die Mittelwerte zusammengetragen habe, möchte ich einen qplot anzeigen lassen, welcher mir nach X = Year, y = Rucksackgewicht & in 2 unterschiedlichen Regressionslinien die BackProblems mit 1 & 0 angibt. Dafür muss ich aber - glaube ich - BackProblems anders ausgeben lassen, als Kategoriale Variable oder? Das will aber gerade absolut nicht so, wie ich will =(

Hier mein Code:

Code: Alles auswählen

qplot(x = Year, y = BackpackWeight, color=BackProblems, data = Backpack_2)+ geom_smooth(method = "lm")
Output ist hier: https://imgur.com/a/Q5VHxs2

Aussehen soll es aber eher so (mit 2 Linien): https://imgur.com/a/P2N09BM

Ich denke, dass es an der Variable BackProblems liegt, welche R nicht so ließt wie ich das möchte..

LG
MaHe234
Beiträge: 9
Registriert: Do Feb 27, 2020 3:50 pm

Re: Hausarbeit mit R

Beitrag von MaHe234 »

Vielleicht nochmal um es genauer zu formulieren:

Ich möchte dass auf BackProblems (1,0) -> BackProblems (yes,no) wird, welche dann auch so angesehen werden von R, dass er nach Farbe unterscheiden kann, wie bei male/female.
Ich habe bereits versucht "as.factor" zu nutzen, führte aber leider zu wenig/gar nichts.

Danke schonmal im Voraus!
MaHe234
Beiträge: 9
Registriert: Do Feb 27, 2020 3:50 pm

Re: Hausarbeit mit R

Beitrag von MaHe234 »

Code: Alles auswählen

levels(Backpack_2$BackProblems[levels(Backpack_2$BackProblems)==1] <- "yes")
levels(Backpack_2$BackProblems[levels(Backpack_2$BackProblems)==0] <- "no")
Habs geschafft :)
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Hausarbeit mit R

Beitrag von jogo »

Code: Alles auswählen

 Backpack_2$Ruecken <- factor(Backpack_2$BackProblems, levels = 0:1, labels = c("nullProblemo", "aua"))
Gruß, Jörg
MaHe234
Beiträge: 9
Registriert: Do Feb 27, 2020 3:50 pm

Re: Hausarbeit mit R

Beitrag von MaHe234 »

Bin zum Ende gekommen und gehe gerade nochmal mein RCode durch.

Ich hatte bis vorhin den Output:

https://imgur.com/a/UqkJ5Gv

Bei dem Code:

Code: Alles auswählen

GraphMajor <- qplot(Backpack_2$Major, xlab="Studienfach", ylab="Anzahl", color=Major)
GraphMajor + theme(axis.text.x = element_text(angle = 90, hjust = 1))

Nun sagt er mir:

Code: Alles auswählen

Error in FUN(X[[i]], ...) : object 'Major' not found
Scheinbar kann er die Farben nicht mehr nach Major anpassen? Fehlt mir ein bestimmtes package?
Der Befehl hat sich nicht geändert.. nur scheint er sich auf einmal an dem "Major" zu stören.
Bei einer anderen Formel:

Code: Alles auswählen

qplot(x=Sex, y=BackpackWeight, data =Backpack_2, geom="boxplot", fill=Sex)
Nimmt er "Sex" ohne Probleme an.

LG
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Hausarbeit mit R

Beitrag von EDi »

Code: Alles auswählen

qplot(Backpack_2$Major, xlab="Studienfach", ylab="Anzahl", color=Major)
Backpack_2$Major ist vermutlich ein vektor den du da übergibts. Ich nutze qplot zwar nicht, bin mir aber ziemlich sicher, dass qplot() ein data.frame haben will...

also
was in die Richtung:

Code: Alles auswählen

qplot(Backpack_2, xlab="Studienfach", ylab="Anzahl", color=Major)
Wobei hier noch die dimensionen fehlen (was soll auf die x-achse?, x = Major?)
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