Overview

Using the “cars” dataset in R, build a linear model for stopping distance as a function of speed and replicate the analysis of your textbook chapter 3 (visualization, quality evaluation of the model, and residual analysis.)

Model

#Loading dataset and inspecting its structure
data(cars)
str(cars)
## 'data.frame':    50 obs. of  2 variables:
##  $ speed: num  4 4 7 7 8 9 10 10 10 11 ...
##  $ dist : num  2 10 4 22 16 10 18 26 34 17 ...
#Visualizing the data
plot(cars$speed, cars$dist, main = "Speed vs. Stopping Distance", 
     xlab = "Speed (mph)", ylab = "Stopping Distance (feet)")
abline(lm(dist ~ speed, data = cars), col = "red")

#Building a linear model
model <- lm(dist ~ speed, data = cars)

#Evaluating the quality of the model
summary(model)
## 
## Call:
## lm(formula = dist ~ speed, data = cars)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -29.069  -9.525  -2.272   9.215  43.201 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -17.5791     6.7584  -2.601   0.0123 *  
## speed         3.9324     0.4155   9.464 1.49e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 15.38 on 48 degrees of freedom
## Multiple R-squared:  0.6511, Adjusted R-squared:  0.6438 
## F-statistic: 89.57 on 1 and 48 DF,  p-value: 1.49e-12
#Performing residual analysis on model
par(mfrow = c(2, 2))
plot(model)

LS0tDQp0aXRsZTogIkRhdGEgNjA1IEhvbWV3b3JrIDExIg0KYXV0aG9yOiAiTGF1cmEgQiINCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCINCm91dHB1dDogb3BlbmludHJvOjpsYWJfcmVwb3J0DQotLS0NCg0KIyMjIE92ZXJ2aWV3DQoNClVzaW5nIHRoZSDigJxjYXJz4oCdIGRhdGFzZXQgaW4gUiwgYnVpbGQgYSBsaW5lYXIgbW9kZWwgZm9yIHN0b3BwaW5nIGRpc3RhbmNlIGFzIGEgZnVuY3Rpb24gb2Ygc3BlZWQgYW5kDQpyZXBsaWNhdGUgdGhlIGFuYWx5c2lzIG9mIHlvdXIgdGV4dGJvb2sgY2hhcHRlciAzICh2aXN1YWxpemF0aW9uLCBxdWFsaXR5IGV2YWx1YXRpb24gb2YgdGhlIG1vZGVsLCBhbmQNCnJlc2lkdWFsIGFuYWx5c2lzLikNCg0KIyMjIE1vZGVsDQoNCmBgYHtyIGxvYWQtcGFja2FnZXMsIG1lc3NhZ2U9RkFMU0V9DQojTG9hZGluZyBkYXRhc2V0IGFuZCBpbnNwZWN0aW5nIGl0cyBzdHJ1Y3R1cmUNCmRhdGEoY2FycykNCnN0cihjYXJzKQ0KDQojVmlzdWFsaXppbmcgdGhlIGRhdGENCnBsb3QoY2FycyRzcGVlZCwgY2FycyRkaXN0LCBtYWluID0gIlNwZWVkIHZzLiBTdG9wcGluZyBEaXN0YW5jZSIsIA0KICAgICB4bGFiID0gIlNwZWVkIChtcGgpIiwgeWxhYiA9ICJTdG9wcGluZyBEaXN0YW5jZSAoZmVldCkiKQ0KYWJsaW5lKGxtKGRpc3QgfiBzcGVlZCwgZGF0YSA9IGNhcnMpLCBjb2wgPSAicmVkIikNCg0KI0J1aWxkaW5nIGEgbGluZWFyIG1vZGVsDQptb2RlbCA8LSBsbShkaXN0IH4gc3BlZWQsIGRhdGEgPSBjYXJzKQ0KDQojRXZhbHVhdGluZyB0aGUgcXVhbGl0eSBvZiB0aGUgbW9kZWwNCnN1bW1hcnkobW9kZWwpDQoNCiNQZXJmb3JtaW5nIHJlc2lkdWFsIGFuYWx5c2lzIG9uIG1vZGVsDQpwYXIobWZyb3cgPSBjKDIsIDIpKQ0KcGxvdChtb2RlbCkNCg0KYGBgDQoNCg0KDQo=