round(cor(mtcars),2) mpg cyl disp hp drat wt qsec vs am gear carb
mpg 1.00 -0.85 -0.85 -0.78 0.68 -0.87 0.42 0.66 0.60 0.48 -0.55
cyl -0.85 1.00 0.90 0.83 -0.70 0.78 -0.59 -0.81 -0.52 -0.49 0.53
disp -0.85 0.90 1.00 0.79 -0.71 0.89 -0.43 -0.71 -0.59 -0.56 0.39
hp -0.78 0.83 0.79 1.00 -0.45 0.66 -0.71 -0.72 -0.24 -0.13 0.75
drat 0.68 -0.70 -0.71 -0.45 1.00 -0.71 0.09 0.44 0.71 0.70 -0.09
wt -0.87 0.78 0.89 0.66 -0.71 1.00 -0.17 -0.55 -0.69 -0.58 0.43
qsec 0.42 -0.59 -0.43 -0.71 0.09 -0.17 1.00 0.74 -0.23 -0.21 -0.66
vs 0.66 -0.81 -0.71 -0.72 0.44 -0.55 0.74 1.00 0.17 0.21 -0.57
am 0.60 -0.52 -0.59 -0.24 0.71 -0.69 -0.23 0.17 1.00 0.79 0.06
gear 0.48 -0.49 -0.56 -0.13 0.70 -0.58 -0.21 0.21 0.79 1.00 0.27
carb -0.55 0.53 0.39 0.75 -0.09 0.43 -0.66 -0.57 0.06 0.27 1.00
mtcars$am_factor <- factor(mtcars$am)
levels(mtcars$am_factor) <- c("automatic", "manual")
mtcars$gear_factor <- factor(mtcars$gear)
# Multiple Lineare Regression
model <- lm(mpg ~ wt + cyl + hp + am_factor + gear_factor, data = mtcars)
summary(model)
Call:
lm(formula = mpg ~ wt + cyl + hp + am_factor + gear_factor, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-3.5391 -1.7849 -0.5956 1.2845 5.6237
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 36.58455 3.68080 9.939 3.63e-10 ***
wt -2.58611 1.00901 -2.563 0.0168 *
cyl -0.81901 0.68255 -1.200 0.2414
hp -0.02439 0.01749 -1.395 0.1753
am_factormanual 1.73375 1.82298 0.951 0.3507
gear_factor4 -0.43510 1.76951 -0.246 0.8078
gear_factor5 -0.44534 2.42212 -0.184 0.8556
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.604 on 25 degrees of freedom
Multiple R-squared: 0.8494, Adjusted R-squared: 0.8133
F-statistic: 23.5 on 6 and 25 DF, p-value: 3.827e-09
# Kolinearität? -> VIF
library(car)Loading required package: carData
vif(model) GVIF Df GVIF^(1/(2*Df))
wt 4.454727 1 2.110622
cyl 6.791124 1 2.605979
hp 6.569113 1 2.563028
am_factor 3.781727 1 1.944666
gear_factor 7.152087 2 1.635341
plot(x = mtcars$wt,
y = mtcars$mpg)
abline(model, col = "red")Warning in abline(model, col = "red"): only using the first two of 7 regression
coefficients
plot(model, which = 1)plot(model, which = 4)