knitr::opts_chunk$set(echo = TRUE,results = 'asis',eval = TRUE)
library(ggplot2)
library(car)
library(GGally)
library(knitr)
cartbl<-mtcars
?mtcars
str(cartbl)
g1<-ggpairs(cartbl[,1:6])
g2<-ggpairs(cartbl[,c(1,7,8,9,10,11)])
g3<-ggpairs(cartbl[,c(2,3,4,7)])
g1

g2

g3

fit1<-lm(mpg~factor(am),data = cartbl)
fit2<-lm(mpg~factor(am)+factor(cyl),data = cartbl)
fit3<-lm(mpg~factor(am)+factor(cyl)+wt+hp,data = cartbl)
fit4<-lm(mpg~factor(am)+factor(cyl)+wt+hp+factor(gear)+vs,data = cartbl)
fit5<-lm(mpg~factor(am)+factor(cyl)+wt+hp+factor(gear)+vs+carb+qsec,data = cartbl)
fit6<-lm(mpg~factor(am)+factor(cyl)+wt+hp+factor(gear)+vs+carb+qsec+disp,data = cartbl)
Avar<-anova(fit1,fit2,fit3,fit4,fit5,fit6)
par(mfrow = c(2,3),mar = c(3,4,5,4))
plot(fit1,which=1,title(main="fit1"))
plot(fit2,which=1,title(main="fit2"))
plot(fit3,which=1,title(main="fit3"))
plot(fit4,which=1,title(main="fit4"))
plot(fit5,which=1,title(main="fit5"))
plot(fit6,which=1,title(main="fit6"))
mtext("Comparing Residuals vs Fitted values plot for different models", side = 3, line = -1.5, outer = TRUE)

par(mfrow = c(2,3),mar = c(3,4,5,4))
plot(fit1,which=2,title(main="fit1"))
plot(fit2,which=2,title(main="fit2"))
plot(fit3,which=2,title(main="fit3"))
plot(fit4,which=2,title(main="fit4"))
plot(fit5,which=2,title(main="fit5"))
plot(fit6,which=2,title(main="fit6"))
mtext("Comparing Normal QQ plot for different models", side = 3, line =-1.5, outer = TRUE)

par(mfrow = c(2,2),mar = c(4,4,5,4))
plot(fit3)
mtext("Diagnostic graphs for model fit3", side = 3, line =-1.5, outer = TRUE)

par(mfrow = c(1,1),mar = c(4,4,5,4))
resid <- residuals(fit3)
fitted <- fitted.values(fit3)
plot(density(resid), xlab = "Residuals", ylab = "Density", main = "Residual distribution model(fit3")

plot(fitted, resid, xlab = "Predicted values", ylab = "Residuals model (fit3)") 
abline(h = 0, col = "red", lty = "dashed")

confit3<-Confint(fit3)
uncer<-confit3[2,3]-confit3[2,1]
chg<-confit3[2,1]
print(confit3)
##                 Estimate       2.5 %       97.5 %
## (Intercept)  33.70832390 28.35390366 39.062744138
## factor(am)1   1.80921138 -1.06093363  4.679356394
## factor(cyl)6 -3.03134449 -5.92405718 -0.138631806
## factor(cyl)8 -2.16367532 -6.85902199  2.531671342
## wt           -2.49682942 -4.31718120 -0.676477640
## hp           -0.03210943 -0.06025492 -0.003963941
hat<-which(hatvalues(fit3) > 2*(5/nrow(cartbl))) 
pressres<-which.max(resid(fit3)/(1-hatvalues(fit3)))
hat
pressres
## Maserati Bora 
##            31 
## Toyota Corolla 
##             20
cartbl2<-cartbl[-c(17,18,20,31)]
fit7<-lm(mpg~factor(am)+wt+hp,data = cartbl2)
par(mfcol = c(1,2),mar = c(4,4,5,4))
plot(fit3,which = 1,title(main="fit3"))
plot(fit7,which = 1,title(main="fit7"))
mtext("Comparing fit3 to fit7 after removal of some entries", side = 3, line =-1.5, outer = TRUE)