cars_data <- read.csv(file="cars.csv", header=TRUE, sep=",")
pairs(cars_data)

cor(cars_data$wt, cars_data$mpg)
## [1] -0.8676594
cor(cars_data$wt, cars_data$mpg)
## [1] -0.8676594
require(ggplot2)
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.3.3
ggplot(cars_data, aes(x=wt, y=mpg))+
  geom_point (aes(shape=factor(am, labels = c("Manual", "Automatic"))))+
  geom_smooth(method=lm)+scale_shape_discrete(name="Transmission Type")
## `geom_smooth()` using formula = 'y ~ x'

firstModel <- lm(mpg~wt, data = cars_data)
summary(firstModel)$coef
##              Estimate Std. Error   t value     Pr(>|t|)
## (Intercept) 37.285126   1.877627 19.857575 8.241799e-19
## wt          -5.344472   0.559101 -9.559044 1.293959e-10
print(c('R-squared', round(summary(firstModel)$r.sq,2)))
## [1] "R-squared" "0.75"
completeModel <- lm(mpg~., data=cars_data)
stepSolution <- step(completeModel, DIRECTION="backwards")
bestModel <- stepSolution$call
bestModel
## lm(formula = mpg ~ wt + qsec + am, data = cars_data)
finalModel <- lm(mpg~wt + qsec + am, data=cars_data)
summary(finalModel)$coef
##              Estimate Std. Error   t value     Pr(>|t|)
## (Intercept)  9.617781  6.9595930  1.381946 1.779152e-01
## wt          -3.916504  0.7112016 -5.506882 6.952711e-06
## qsec         1.225886  0.2886696  4.246676 2.161737e-04
## am           2.935837  1.4109045  2.080819 4.671551e-02
print(c('R-squared', round(summary(finalModel)$r.sq,2)))
## [1] "R-squared" "0.85"