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"