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. 


Hello, I’m trying to determine what is significant within an interaction I have tested for—I was looking into using the JohnsonNeyman technique and found online that one could use the LOOP plot function to do this like such: MODEL CONSTRAINT: LOOP (Moderator, 3, 3, 0.1); PLOT(IV_DV); IV_DV= b1 + b3*Moderator; where b1 and b3 refer to the regression of the DV on the IV and the regression of the DV on the product term IVxModerator [using the xwith command], respectively. Is this correct to do/can this still be used if my DV has a negative binomial distribution (which I’ve labeled a count variable in MPlus)? I assume so, and that the interpretation would be that the IV was significantly predictive of the DV on the log scale within the moderator range where the plot (from upper to lower CI) didn’t fall on the xaxis, but confirmation would be great. That said, perhaps it’s not necessary to specify that the DV is in the log scale since even if you exponentiated the values along the yaxis the moderator values shouldn’t change, right? (Would it be the same case regardless?) Thank you so much, Cari 


You are right and this is on the log scale. If you exponentiate you might want to use bootstrap to get nonsymmetric CIs. 


Thank you so much! Just a quick followup question: with exponentiating, the interpretation doesn't change except that the DV is now the rate mean (or average of whatever the DV is), correct? 


right. 


Hello, I'm piggybacking off of aprile and Carillon's posts here... I'm using the PLOT and LOOP functions to probe a continuous (x1) by categorical (x2) interaction (x1x2) with a count DV (count is y). Are there adjustments necessary to the model constrain or PLOT/LOOP commands to adjust the plots for the count distribution of the outcome? Below are the relevant commands. Thank you for your guidance. model: y ON x1 (b1) x2 (b2) x1x2 (b3); [y] (b0); Model Constraint: NEW (low_z high_z modlow modhigh) ; low_z = 1.48764039 ; !1SD below mean ; high_z = 1.48764039 ; !1SD above mean ; modlow = b1 + b3*low_z ; modhigh = b1 + b3*high_z ; ! Generating plot ; PLOT (low_mod high_mod) ; LOOP (xvalue, 3, 6, .01) ; 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 ; 


The usual formulas are correct for the lograte (which is what is modeled) of the count outcome. 


Thank you. Are various methods of probing interactions described in detail in the Regression And Mediation Analysis Using Mplus book? 


I think so  both in Chapter 1 and Chapter 2. The book doesn't cover multilevel versions, however. 

Lisha Dai posted on Sunday, July 07, 2019  7:56 am



Dear Professors,I'm running a twolevel moderation model (B2 proposed in Preacher er al. 2016) using Bayes according to the Mplus Web Notes 23 (2019). Now I want to plot simple slopes for this interaction and read ex 3.18 for reference. But the result is wrong cause the interaction are not significant in data but significant in plot. MODEL: %WITHIN% x*.7; y*.7; y ON x*.2; %BETWEEN% xb BY x@1; xb*.7; x@.01; z*.7; y ; xzb  xb XWITH z; xb WITH z*.1; y ON xb (a); y on z*.2; y on xzb (b); [x@0 z*0 y xb*0]; model constraint: plot(HA); loop(CQ,0,60,1); HA=a+b*CQ; plot: type is plot2; 


You have y = a*xb + c*z + b*xb*z = (a + b*z)*xb + c*z Even if b is insignificant, (a + b*z) can be significant. 

Back to top 