# Prepare Data
predictor <- rnorm(1000, 10, 3)
moderator <- rnorm(1000, 50, 10)
outcome <- (1.7 * predictor) + (1.3 * moderator) +
(1.5 * predictor * moderator) + rnorm(1000, sd = 3)
covariate <- rnorm(1000)
df <- data.frame(predictor, moderator, outcome, covariate)
# Linear Regression
lmModel <- lm(outcome ~ predictor + moderator + predictor:moderator,
data = df, na.action = "na.exclude")
summary(lmModel)
# 1. Plot 2-Way Interaction
plot2WayInteraction(predictor = "predictor",
outcome = "outcome",
moderator = "moderator",
varList = c("predictor","moderator","covariate"),
varTypes = c("sd","binary","mean"),
data = df)
# 2. Specify y-axis Range
plot2WayInteraction(predictor = "predictor",
outcome = "outcome",
moderator = "moderator",
varList = c("predictor","moderator","covariate"),
varTypes = c("sd","binary","mean"),
ylim = c(10,50), #new
data = df)
# 3. Add Variable Labels
plot2WayInteraction(predictor = "predictor",
outcome = "outcome",
moderator = "moderator",
varList = c("predictor","moderator","covariate"),
varTypes = c("sd","binary","mean"),
ylim = c(10,50),
predictorLabel = "Stress", #new
outcomeLabel = "Aggression", #new
moderatorLabel = "Gender", #new
data = df)
# 4. Change Legend Labels
plot2WayInteraction(predictor = "predictor",
outcome = "outcome",
moderator = "moderator",
varList = c("predictor","moderator","covariate"),
varTypes = c("sd","binary","mean"),
ylim = c(10,50),
predictorLabel = "Stress",
outcomeLabel = "Aggression",
moderatorLabel = "Gender",
legendLabels = c("Boys","Girls"), #new
data = df)
# 5. Move Legend Location
plot2WayInteraction(predictor = "predictor",
outcome = "outcome",
moderator = "moderator",
varList = c("predictor","moderator","covariate"),
varTypes = c("sd","binary","mean"),
ylim = c(10,50),
predictorLabel = "Stress",
outcomeLabel = "Aggression",
moderatorLabel = "Gender",
legendLabels = c("Boys","Girls"),
legendLocation = "topleft", #new
data = df)
#6. Turn Off p-Values
plot2WayInteraction(predictor = "predictor",
outcome = "outcome",
moderator = "moderator",
varList = c("predictor","moderator","covariate"),
varTypes = c("sd","binary","mean"),
ylim = c(10,50),
predictorLabel = "Stress",
outcomeLabel = "Aggression",
moderatorLabel = "Gender",
legendLabels = c("Boys","Girls"),
legendLocation = "topleft",
pvalues = FALSE, #new
data = df)
#7. Get Regression Output from Mean-Centered Predictor and Moderator
plot2WayInteraction(predictor = "predictor",
outcome = "outcome",
moderator = "moderator",
varList = c("predictor","moderator","covariate"),
varTypes = c("sd","binary","mean"),
ylim = c(10,50),
predictorLabel = "Stress",
outcomeLabel = "Aggression",
moderatorLabel = "Gender",
legendLabels = c("Boys","Girls"),
legendLocation = "topleft",
interaction = "meancenter", #new
data = df)
#8. Get Regression Output from Orthogonalized Interaction Term
plot2WayInteraction(predictor = "predictor",
outcome = "outcome",
moderator = "moderator",
varList = c("predictor","moderator","covariate"),
varTypes = c("sd","binary","mean"),
ylim = c(10,50),
predictorLabel = "Stress",
outcomeLabel = "Aggression",
moderatorLabel = "Gender",
legendLabels = c("Boys","Girls"),
legendLocation = "topleft",
interaction = "orthogonalize", #new
data = df)
Run the code above in your browser using DataLab