Interactions I: Num x Cat

Learning Objectives

At the end of this lab, you will:

  1. Understand the concept of an interaction.
  2. Be able to interpret the meaning of a numeric \(\times\) categorical interaction.
  3. Visualize and probe interactions.

What You Need

  1. Be up to date with lectures
  2. Have completed all labs from Semester 1 Block 1 (Weeks 1 - 5)

Required R Packages

Remember to load all packages within a code chunk at the start of your RMarkdown file using library(). If you do not have a package and need to install, do so within the console using install.packages(" "). For further guidance on installing/updating packages, see Section C here.

For this lab, you will need to load the following package(s):

  • tidyverse
  • psych
  • patchwork
  • sandwich
  • interactions

Lab Data

You can download the data required for this lab here or read it in via this link https://uoepsy.github.io/data/wellbeing_rural.csv.

Study Overview

Research Question

Does the association between number of social interactions and wellbeing differ between rural and non-rural residents?

Researchers were specifically interested in how the number of social interactions might influence mental health and wellbeing differently for those living in rural communities compared to those in cities and suburbs. They want to assess whether the effect of social interactions on wellbeing is moderated by (depends upon) whether or not a person lives in a rural area.

To investigate how the association between the number of social interactions and mental wellbeing might be different for those living in rural communities, the researchers conducted a study, where they collected data from 200 randomly selected residents of the Edinburgh & Lothian postcodes.

Wellbeing/Rurality data codebook.

Setup

Setup
  1. Create a new RMarkdown file
  2. Load the required package(s)
  3. Read the wellbeing_rural dataset into R, assigning it to an object named wrdata

Solution

Exercises

Question 1

Formally state:

  • a linear model to investigate if the association between wellbeing and social interactions differs among rural and non-rural residents
  • your chosen significance level
  • the null and alternative hypotheses

“Except in special circumstances, a model including a product term for interaction between two explanatory variables should also include terms with each of the explanatory variables individually, even though their coefficients may not be significantly different from zero. Following this rule avoids the logical inconsistency of saying that the effect of \(X_1\) depends on the level of \(X_2\) but that there is no effect of \(X_1\).”
Ramsey and Schafer (2012)

Solution


Question 2

Check coding of variables (e.g., that categorical variables are coded as factors).

Note that the “location” variable currently has three levels (Rural/Suburb/City). In order to address the research question, we only want two (Rural/Not Rural) locations - you will need to fix this.

Specify ‘not rural’ as your reference group.

One way to do this would be to use ifelse() to define a variable which takes one value (“Rural”) if the observation meets from some condition, or another value (“Not Rural”) if it does not. Type ?ifelse in the console if you want to see the help function. You can use it to add a new variable either inside mutate(), or using data$new_variable_name <- ifelse(test, x, y) syntax.

Solution


Question 3

Visualise your data, and interpret your plots.

In particular:

  1. Explore the associations among the variables included in your analysis
  2. Produce a visualisation of the association between weekly number of social interactions and well-being, with separate facets for rural vs non-rural respondents OR with different colours for each level of the isRural variable.
  1. The pairs.panels() function from the psych package will can plot all variables in a dataset against one another. This will save you the time you would have spent creating individual plots, but is only useful for continuous variables.
  2. To include facets, Within your ggplot() argument you will need to specify + facet_wrap() in order to produce facets for each location. It would also be useful to specify geom_smooth(method="lm")

Solution


Question 4

Fit your model using lm(), and assign it as an object with the name “rural_mod”.

When fitting a regression model in R with two explanatory variables A and B, and their interaction, these three are equivalent:

  • y ~ A + B + A:B
  • y ~ A + B + A*B
  • y ~ A*B

Solution


Question 5

Look at the parameter estimates from your model, and write a description of what each one corresponds to on the plot shown in Figure 1 (it may help to sketch out the plot yourself and annotate it).

Figure 1: Multiple regression model: Wellbeing ~ Social Interactions * is Rural

Options

Solution


Question 6

Mean center the continuous IV(s), and re-run your model with mean centered variable(s).

Solution


Question 7

Note any differences between the summary() output between the “rural_mod” and “rural_mod1” models. Pay particular attention to your coefficients and their significance values. Why do you think these differences have been observed?

This plot illustrates the difference between the “rural_mod” and “rural_mod1” models.

Figure 2: Difference when social interactions is not vs is mean centered.
Note that the lines without SE intervals on the left plot represent predicted values below the minimum observed number of social interactions, to ensure that zero on the x-axis is visible

Solution


Question 8

Using the probe_interaction() function from the interactions package, visualise the interaction effects from your model.

Try to summarise the interaction effects in a short and concise sentence.

Make sure to give your plot informative titles/labels. You, for example, likely want to give your plot:

  • a clear and concise title (specify main.title =)
  • axis labels with units or scale included (specify x.label = and y.label =)
  • a legend title (specify legend.main =)

Solution


Question 9

Provide key model results in a formatted table.

Solution


Question 10

Interpret your results in the context of the research question and report your model in full.

Make reference to the interaction plot and regression table.

“The best method of communicating findings about the presence of a significant interaction may be to present a table or graph of the estimated means at various combinations of the interacting variables.”
Ramsey and Schafer (2012)

Solution

References

Ramsey, Fred, and Daniel Schafer. 2012. The Statistical Sleuth: A Course in Methods of Data Analysis. Cengage Learning.