mtcars -- Interactions

Sameer Mathur

Summary of dataset mtcars

attach(mtcars)
library(car)
some(mtcars)
                   mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Hornet Sportabout 18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
Duster 360        14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
Merc 280          19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
Merc 450SL        17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
Merc 450SLC       15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
Fiat 128          32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
Honda Civic       30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
Toyota Corona     21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
Fiat X1-9         27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
Lotus Europa      30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2

For data description, please click this link Data Description

Mutiple linear regression with a significant interaction term

fit <- lm(mpg ~ hp + wt + hp:wt, data=mtcars)
summary(fit)

Call:
lm(formula = mpg ~ hp + wt + hp:wt, data = mtcars)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0632 -1.6491 -0.7362  1.4211  4.5513 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 49.80842    3.60516  13.816 5.01e-14 ***
hp          -0.12010    0.02470  -4.863 4.04e-05 ***
wt          -8.21662    1.26971  -6.471 5.20e-07 ***
hp:wt        0.02785    0.00742   3.753 0.000811 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.153 on 28 degrees of freedom
Multiple R-squared:  0.8848,    Adjusted R-squared:  0.8724 
F-statistic: 71.66 on 3 and 28 DF,  p-value: 2.981e-13

Visualizing Interaction using the effect() function in the effects package

library(effects)
plot(effect("hp:wt", fit,, list(wt=c(2.2, 3.2, 4.2))), multiline=TRUE)

Visualizing Interaction using the effect() function in the effects package

plot of chunk unnamed-chunk-4

As the weight of the car increses, the relation between horsepower and miles per gallon weakens.

Insights

  • A significant interaction between two predictor varibale tells you that the relationship between two predictor and the response variable depends on the level of the other predictor.

  • It means the relationship between miles per gallon (mpg) and horse power (hp) varies by car weight.

Fitted multiple regression equation model

  • \( \hat{mpg} = 49.81 - 0.12 \times hp - 8.22 \times wt + 0.03 \times hp \times wt \)

  • Here as weight increases (2.2, 3.2, 4.2), the the expected change in mpg from a unit increse in hp decreases (0.06, 0.03, 0.003).

Interaction between wt:hp

fit1 <- lm(mpg ~ wt * hp, data=mtcars)
summary(fit1)

Call:
lm(formula = mpg ~ wt * hp, data = mtcars)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0632 -1.6491 -0.7362  1.4211  4.5513 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 49.80842    3.60516  13.816 5.01e-14 ***
wt          -8.21662    1.26971  -6.471 5.20e-07 ***
hp          -0.12010    0.02470  -4.863 4.04e-05 ***
wt:hp        0.02785    0.00742   3.753 0.000811 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.153 on 28 degrees of freedom
Multiple R-squared:  0.8848,    Adjusted R-squared:  0.8724 
F-statistic: 71.66 on 3 and 28 DF,  p-value: 2.981e-13

We consider three values of hp i.e. (\( \mu \), \( \mu+sd \), \( \mu-sd \))

plot(effect("wt:hp", fit1,, list(hp=c(146.6875, 215.2504, 78.12463))), multiline=TRUE)

plot of chunk unnamed-chunk-6