data(mtcars)
head(mtcars)
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
# Scatter plot
plot(mtcars$wt, mtcars$mpg, main = "Scatter plot of mpg vs wt", 
     xlab = "Weight (1000 lbs)", ylab = "Miles per gallon")

# Calculate correlation coefficient
correlation <- cor(mtcars$wt, mtcars$mpg)
correlation
## [1] -0.8676594
# Fit linear regression model
model <- lm(mpg ~ wt, data = mtcars)

# Summary of the model
summary(model)
## 
## Call:
## lm(formula = mpg ~ wt, data = mtcars)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.5432 -2.3647 -0.1252  1.4096  6.8727 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  37.2851     1.8776  19.858  < 2e-16 ***
## wt           -5.3445     0.5591  -9.559 1.29e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.046 on 30 degrees of freedom
## Multiple R-squared:  0.7528, Adjusted R-squared:  0.7446 
## F-statistic: 91.38 on 1 and 30 DF,  p-value: 1.294e-10
# Obtain residuals
residuals <- residuals(model)

# Plot residuals vs fitted values
plot(fitted(model), residuals, main = "Residuals vs Fitted",
     xlab = "Fitted values", ylab = "Residuals")
abline(h = 0, col = "red")  # Add a horizontal line at 0

# Check normality of residuals
qqnorm(residuals)
qqline(residuals)

Residuals Interpretation: The residuals should ideally be randomly scattered around zero with no discernible pattern but the residuals seem to be fairly randomly scattered, indicating that the assumption of constant variance is reasonable.

The Normal QQ plot checks the normality assumption of residuals. The residuals should fall approximately along the straight line. In the above case, the residuals generally follow the straight line, suggesting that the normality assumption is not severely violated.

Conclusion of the assumptions: From the residual analysis, it appear to have no obvious pattern in the residuals vs fitted plot, suggesting that the assumption of constant variance is reasonable. The normal QQ plot shows that the residuals are approximately normally distributed, indicating that the normality assumption is not strongly violated. Therefore, based on this analysis, the assumptions of linear regression (linearity, constant variance, and normality of residuals) generally hold for the relationship between mpg and wt in the mtcars dataset.