1. Normalitas Error
# Uji Shapiro-Wilk
shapiro.test(residuals(model1))
##
## Shapiro-Wilk normality test
##
## data: residuals(model1)
## W = 0.92337, p-value = 0.02568
shapiro.test(residuals(model2))
##
## Shapiro-Wilk normality test
##
## data: residuals(model2)
## W = 0.92792, p-value = 0.03427
# Plot QQ-plot
par(mfrow=c(1,2))
qqnorm(residuals(model1), main="Model 1: QQ Plot")
qqline(residuals(model1), col="red")
qqnorm(residuals(model2), main="Model 2: QQ Plot")
qqline(residuals(model2), col="red")

par(mfrow=c(1,1))
2. Homoskedastisitas
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.5.1
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.5.1
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
# Breusch-Pagan test
bptest(model1)
##
## studentized Breusch-Pagan test
##
## data: model1
## BP = 0.049298, df = 1, p-value = 0.8243
bptest(model2)
##
## studentized Breusch-Pagan test
##
## data: model2
## BP = 0.88072, df = 2, p-value = 0.6438
# Plot residual vs fitted
plot.new()
par(mfrow=c(1,2))
plot(fitted(model1), residuals(model1),
main="Model 1: Residual vs Fitted",
xlab="Fitted Values", ylab="Residuals")
abline(h=0, col="red")
plot.new()

plot(fitted(model2), residuals(model2),
main="Model 2: Residual vs Fitted",
xlab="Fitted Values", ylab="Residuals")
abline(h=0, col="red")
par(mfrow=c(1,1))

3. Multikolinearitas
library(car)
## Warning: package 'car' was built under R version 4.5.1
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.5.1
vif(model2)
## hp wt
## 1.766625 1.766625