Message/Author 


I would like to know whether it's possible in MPlus to determine for a significant interaction for which regions in the range of the moderator variable, the effects of the focal predictor on the outcome variable are statistically significant, according to the JohnsonNeyman technique (Hayes & Matthes, 2009; Bauer & Curran, 2009). I found some examples of MPlus input to plot simple slopes, but in those cases you choose the values yourself (often 1 sd below and above the mean) whereas I would like to identify for which values of the moderator variable the effects of the predictor on the outcome are significant. Do you have an example of an MPlus input to do this? Many thanks in advance for your response! Jolien 


I think Example 3.18 will give you what you want. 

db40 posted on Tuesday, July 29, 2014  4:04 am



Dear Linda, so if I wish examine the regions of significance in an interaction term using observed variables. I looked at example 3.18. Does this appear correct. The moderators (DV1 DV2)have 4 levels each. *SNIP* DEFINE: dv1PL = dv1*PL; dv2PL = dv2*PL; ANALYSIS: ESTIMATOR = BAYES; PROCESSORS = 4; BITERATIONS = (20000); MODEL: y1 ON PL (b) dv1 dv2 dv1PL dv2PL(gamma1); MODEL CONSTRAINT: LOOP(mod,2,2,0.1); PLOT(indirect); indirect = b*(gamma1*mod); PLOT: TYPE = PLOT2; OUTPUT: TECH8; sampstat ; STANDARDIZED; CINTERVAL ; 


This is not following UG ex 3.18 which has 3 slopes: b, gamma1, gamma2. Also, you say that the moderators have 4 levels each; note that your input is treating them as continuous, not categorical. 


I know it is designed to plot results from moderated mediation, but can the LOOP plot be used to plot simple slopes from an interaction (y on x m xm)? 


Yes, see the first part of our mediation page for UG ex 3.18: http://www.statmodel.com/Mediation.shtml 


great  i've been able to adapt that code without a problem. i have a quick follow up question. When generating the plots, is mplus assuming a value of zero for the included covariates? I plotted the interaction by hand (using the mean of each covariate), and the shape of the plots is identical to the plots generated by Mplus, but the values of Y are shifted. Thanks! 


No. But you determine which moderator range you consider by LOOP in the below: MODEL: y ON m (b) z; m ON x (gamma1) xz (gamma2) z; MODEL CONSTRAINT: LOOP(mod,2,2,0.1); PLOT(indirect); indirect = b*(gamma1+gamma2*mod); But perhaps you are not talking about regression but mediation in which case indirect and direct effects are computed for covariate (control) variables values of zero (so you want to center them). 


I have a regression model with a predictor (paredmarg), moderator (schpress), interaction (int), and two covariates (female, w1grade). I'm curious how (or if) the generated plots take into account the value of the covariates. Here is the syntax i'm using (adapted from 3.18): MODEL: !main model; lonely2 on paredmarg (b1) schpress (b2) int (b3) female w1grade; [lonely2] (b0) ; Model Constraint: NEW (low_z high_z modlow modhigh) ; low_z = .55 ; !1SD below mean ; high_z = .55 ; !1SD above mean ; modlow = b1 + b3*low_z ; modhigh = b1 + b3*high_z ; ! Generating plot ; PLOT (low_mod high_mod) ; LOOP (xvalue, 15, 15, 1) ; low_mod = (b0 + b2*low_z) + (b1 + b3*low_z)*xvalue ; high_mod = (b0 + b2*high_z) + (b1+b3*high_z)*xvalue ; PLOT: TYPE = plot2 ; 


In your statements low_mod = (b0 + b2*low_z) + (b1 + b3*low_z)*xvalue ; high_mod = (b0 + b2*high_z) + (b1+b3*high_z)*xvalue ; it looks like you are computing predicted values for the lonely2 outcome. Because you don't include values for the female and w1grade covariates in those expressions, you are computing the predicted outcome at zero for those two covariates. 

Back to top 