Seite 1 von 1
Hausarbeit mit R
Verfasst: Do Feb 27, 2020 3:55 pm
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
Re: Hausarbeit mit R
Verfasst: Do Feb 27, 2020 7:52 pm
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:
Bitte auch den Hilfetext der Funktion t.test() lesen!
Gruß, Jörg
Re: Hausarbeit mit R
Verfasst: Sa Feb 29, 2020 9:21 am
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
Re: Hausarbeit mit R
Verfasst: Sa Feb 29, 2020 10:03 am
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
Re: Hausarbeit mit R
Verfasst: Sa Feb 29, 2020 11:24 am
von MaHe234
Okay, dann vergesse ich den Befehl mal ganz schnell wieder.
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
Re: Hausarbeit mit R
Verfasst: Sa Feb 29, 2020 11:39 am
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!
Re: Hausarbeit mit R
Verfasst: Sa Feb 29, 2020 11:45 am
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

Re: Hausarbeit mit R
Verfasst: Sa Feb 29, 2020 1:06 pm
von jogo
Code: Alles auswählen
Backpack_2$Ruecken <- factor(Backpack_2$BackProblems, levels = 0:1, labels = c("nullProblemo", "aua"))
Gruß, Jörg
Re: Hausarbeit mit R
Verfasst: Sa Feb 29, 2020 6:52 pm
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:
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
Re: Hausarbeit mit R
Verfasst: So Mär 01, 2020 1:23 pm
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?)