The \(:\) designates the interaction between two variables. The operator \(*\) designates the interaction between the two variables, plus the main effects. In our model we included an interaction term between two variables born.country
and east_west
.
model.1<-lm(immi.jobs~ born.country*east_west+country.ancestry+share.cultr+left_right+education,data=EVS.Germany)
summary(model.1)
##
## Call:
## lm(formula = immi.jobs ~ born.country * east_west + country.ancestry +
## share.cultr + left_right + education, data = EVS.Germany)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.2222 -1.6097 -0.4451 1.4351 7.6519
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.7978867 0.2726768 2.926 0.00348 **
## born.country 0.4542258 0.0891563 5.095 3.92e-07 ***
## east_west 0.7637056 0.2591249 2.947 0.00325 **
## country.ancestry 0.2614679 0.0919001 2.845 0.00450 **
## share.cultr 0.3965076 0.0850157 4.664 3.37e-06 ***
## left_right 0.1654872 0.0338321 4.891 1.11e-06 ***
## education -0.0017670 0.0003333 -5.301 1.32e-07 ***
## born.country:east_west -0.2885010 0.1428949 -2.019 0.04366 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.279 on 1544 degrees of freedom
## (3855 observations deleted due to missingness)
## Multiple R-squared: 0.1577, Adjusted R-squared: 0.1539
## F-statistic: 41.3 on 7 and 1544 DF, p-value: < 2.2e-16
It is important to plot the outcome of the interaction term. To do so you may use the interplot()
package.
library(interplot)
interaction<-interplot(m = model.1, var1 = "born.country", var2 = "east_west") +
theme_classic() +
theme(plot.title = element_text(hjust = 0.5))+ # This will center the title of your plot
geom_hline(yintercept = 0, linetype = "dashed") +
ggtitle("Marginal Effects: East versus West")
interaction