Überblick Lektion 3
Demo Regression:
Regressionskoeffizienten a und b für diese Datenreihe und Streudiagramm mit eingezeichneter Regressionsgerade:
X | 30 | 40 | 20 | 30 |
Y | 40 | 50 | 10 | 20 |
# no pec
x <- c(30, 40, 20, 30)
y <- c(40, 50, 10, 20 )
x
y
lm(y ~ x)
plot(y ~ x, pch=19)
abline(lm(y ~ x), col="red")
cat("Die Regressionskoeffizienten scheinen zu stimmen (links a, rechts b).\nAber warum sieht die Regressionsgerade so komisch aus?")
Antwort:
Die merkwürdige Darstellung liegt natürlich an der unterschiedlichen Skalierung von X- und Y-Achse.
# no pec
x <- c(30, 40, 20, 30)
y <- c(40, 50, 10, 20 )
# mit xlim und ylim kann man den Wertebereich der Achsenskala angeben
plot(y ~ x, pch=19, xlim=c(0, 50), ylim=c(0,50))
abline(lm(y ~ x), col="red")
Gewicht und Benzinverbrauch:
Regressionskoeffizienten a und b, sowie Streudiagramm mit eingezeichneter Regressionsgerade für das Fahrzeuggewicht (Variable
wt
- weight) und den Benzinverbrauch (Variable mpg
- miles per gallon) aus dem Data Frame für mtcars
:
# no pec
lm(mtcars$mpg ~ mtcars$wt)
plot(mtcars$mpg ~ mtcars$wt, pch=19, xlab="Gewicht", ylab="Meilen pro Gallone")
abline(lm(mtcars$mpg ~ mtcars$wt), col="red")
cat("Achtung!!\nDie dargestellte Y-Achse ist nicht bei x=0.\nDaher kann man den wahren Schnittpunkt mit\nder Y-Achse im Diagramm nicht erkennen.")
Streudiagramm alternativ mit ggplot:
# no pec
library(ggplot2)
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() + labs(x="Gewicht", y="Meilen pro Gallone") + geom_smooth(method="lm", se=F)