lineare Regression, Streudiagramm

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
senta
Beiträge: 1
Registriert: Fr Aug 10, 2018 10:38 am

lineare Regression, Streudiagramm

Beitrag von senta » Fr Aug 10, 2018 10:56 am

Hallo,

im Rahmen einer Hausarbeit möchten wir die einfache lineare Regression auf Grundlage des PISA-Datensatzes von Bildungsgang und der Mathekompetenz errechnen und grafisch darstellen. Intercept und Steigungskoeffizient werden ausgespuckt, leider zeigt R einen Boxplot (mit Regressionsgerade) statt eines Streudiagramms.

Da "Bildungsgang" (nominal) vier verschiedene Schulformen enthält, haben wir die Variable dichotomisiert, um mit 0=kein Gymnasium und 1=Gymnasium weiter zurechnen.

Wir verzweifeln schon, es ist bestimmt ein Anfängerfehler! :roll: Kann uns vielleicht jemand helfen? Dankeschön!

Code: Alles auswählen

reg1.unst<-lm(pisa.nm$mathe~pisa.nm$bildga.gym)
reg1.unst
# Coefficients:
# (Intercept)  pisa.nm$bildga.gymGymnasium  
# 476.8                        118.7 
plot(pisa.nm$bildga.gym,pisa.nm$mathe)

jogo
Beiträge: 929
Registriert: Fr Okt 07, 2016 8:25 am

Re: lineare Regression, Streudiagramm

Beitrag von jogo » Fr Aug 10, 2018 11:31 am

Hallo Senta,

willkommen im Forum!
senta hat geschrieben:
Fr Aug 10, 2018 10:56 am

Code: Alles auswählen

reg1.unst<-lm(pisa.nm$mathe~pisa.nm$bildga.gym)
reg1.unst
# Coefficients:
# (Intercept)  pisa.nm$bildga.gymGymnasium  
# 476.8                        118.7 
plot(pisa.nm$bildga.gym,pisa.nm$mathe)
Du hättest auch so schreiben können:

Code: Alles auswählen

reg1.unst <- lm(mathe ~ bildga.gym, data=pisa.nm)
plot(mathe ~ bildga.gym, data=pisa.nm)
Etwas mehr Informationen über die Regression bekommst Du mit

Code: Alles auswählen

summary(reg1.unst)
im Rahmen einer Hausarbeit möchten wir die einfache lineare Regression auf Grundlage des PISA-Datensatzes von Bildungsgang und der Mathekompetenz errechnen und grafisch darstellen. Intercept und Steigungskoeffizient werden ausgespuckt, leider zeigt R einen Boxplot (mit Regressionsgerade) statt eines Streudiagramms.

Da "Bildungsgang" (nominal) vier verschiedene Schulformen enthält, haben wir die Variable dichotomisiert, um mit 0=kein Gymnasium und 1=Gymnasium weiter zurechnen.
Bei dem Plot ist mir nicht klar, wie ein Streudiagramm aussehen soll, wenn $bildga.gym eine dichotome Variable ist.
Du meinst nicht zufällig ein Histogramm (bzw. zwei Histogramme)?

Gruß, Jörg

bigben
Beiträge: 673
Registriert: Mi Okt 12, 2016 9:09 am

Re: lineare Regression, Streudiagramm

Beitrag von bigben » Fr Aug 10, 2018 1:27 pm

Ob plot() einen Boxplot oder ein Streudiagramm zeichnet hängt nur davon ab, welchen Datentyp man übergibt. Ob man auf der x-Achse einen Faktor oder eine numerische Variable übergibt. Beispiel:

Code: Alles auswählen

beisp <- data.frame(mathe = runif(100), gymnasium = gl(2, 50))

plot(mathe ~ gymnasium, data = beisp) # boxplot
plot(mathe ~ as.numeric(gymnasium), data = beisp) # kein boxplot
plot(mathe ~ jitter(as.numeric(gymnasium)), data = beisp) # so ist besser, wenn man viele Datenpunkte hat
HTH,
Bernhard



Nachtrag von Edit: Ich fände ja sowas hier gut, wie würde Euch das gefallen?

Code: Alles auswählen

beisp <- data.frame(mathe = runif(100), gymnasium = gl(2, 50))

a <- density(beisp$mathe[beisp$gymnasium==1])
b <- density(beisp$mathe[beisp$gymnasium==2])
plot(a, ylim=c(0, max(a$y,b$y)), main = "Vergleich Mathe", 
     col="blue", xlim =c(0,1), lty=3, 
     xlab="Matheleistungen", ylab="Verteilungsdichte")
lines(b, col="darkgreen", lty=2)
rug(beisp$mathe[beisp$gymnasium==1], col="blue")
rug(beisp$mathe[beisp$gymnasium==2], col="darkgreen", side=3)
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste