Message/Author 

Jaimee posted on Tuesday, May 27, 2014  4:01 pm



I am trying to figure out how to plot an interaction effect between 2 level 2 variables in a MLM. I am having a bit of trouble as I am getting confused with the syntax. Here is what I have USEVARIABLES clus Y X C D M N O MxN; CLUSTER = clus; WITHIN = C D; BETWEEN = M N O MxN; DEFINE: MxN = M*N; CENTER M (GRANDMEAN); CENTER N (GRANDMEAN); CENTER O (GRANDMEAN); ANALYSIS: TYPE = TWOLEVEL; MODEL: %within% Y on C D; %BETWEEN% Y on M (beta1) N (beta2) O MxN; MODEL CONSTRAINT: PLOT(interaction); LOOP(moderate, 5, 28, 1); Y = beta1+beta2* moderate; PLOT: TYPE = PLOT2; The model constraint and naming of the pathways is where I am confused. I need a plot with Y on the Y axis, N as the moderator and M on the X axis. Any help would be very much appreciated. Thanks very much. 


Take a look at how it is done for UG ex 3.18 as shown on our Mediation page: http://www.statmodel.com/Mediation.shtml Just translate that to your Betweenlevel statements. 


Hi, I have a related question to the above discussion. I am running a twolevel random model with random intercepts and slopes. I wish to plot the cross over interaction but I get an error message: ' Error in parsing line:"LOOP (MOD,1,1,0.1)"' Here is the full syntax: Missing are all (99); BETWEEN = gmx; WITHIN = gmw; CLUSTER = Id; ANALYSIS: TYPE = TWOLEVEL RANDOM; MODEL: %WITHIN% s  sqy ON gmw; %BETWEEN% sqy ON gmx; [s] (a); s ON gmx (b); sqy WITH s; MODEL CONSTRAINT PLOT(crosslv1); LOOP (mod, 1,1,0.1); crosslv1 = a+b*mod; PLOT: TYPE = PLOT2; OUTPUT: TECH8 TECH4 SAMPSTAT; I cannot figure out what am I doing wrong. Thanks a lot in advance! 


You don't show a colon after CONSTRAINT. 


Professor Muthen, thank you so much for the quick response! It was a very sloppy mistake on my side. 

Stefan Kamin posted on Wednesday, October 25, 2017  9:02 am



Dear all, I would like to plot an interaction between X and M within the level 1 equation. The model has one covariate at level 1 (cov1) and another one at level 2 (cov2). In addition, I am interested in the simple slopes at different values of M (0/1). I adapted the example from UG ex 3.18 and would like to know whether my syntax is accurate: %WITHIN% s_x  y on x; s_m  y on m; s_xm  y on xm; s_cov1  y on cov1; %BETWEEN% [y] (b0); [s_x] (b1); [s_m] (b2); [s_xm] (b3); y on cov2; y with s_x s_m s_xm; Model Constraint: PLOT(SS1 SS2); LOOP(x,0,100,0.1); SS1 = b0 + b1*x + b3*0*x + b2*0; SS2 = b0 + b1*x + b3*1*x + b2*1; NEW(SS1 SS2); SS1 = b1+b3*(0); SS2 = b1+b3*(1); Thank you very much! 


The syntax looks correct. 

S REN posted on Friday, February 23, 2018  3:29 am



Hi, could I ask how to create the xm IN mplus 9.2 EXAMPLE. I don't really understand that 'The observed clusterlevel covariate xm takes the value of the mean of x for each cluster'. Does this mean xm = (the group mean of X) * m Or does this mean xm = (groupmean centering X) * m Thank you. 

S REN posted on Friday, February 23, 2018  3:55 am



Hi a followup question is for the example 9.2 in the UserGuide as below is X (as specified as the within level) referring to the raw data of X? Or is X (as specified as the within level) referring to the group mean centered raw data of X? Thanks. VARIABLE: NAMES = y x w xm clus; WITHIN = x; BETWEEN = w xm; CLUSTER = clus; 


First post: xm refers to "the x mean", that is what can be obtained using the Cluster_Mean option. Second post: x is the groupmean centered raw data of the observed x variable. This is what the Center x(groupmean) statement in the Define command accomplishes. 

S REN posted on Saturday, February 24, 2018  9:32 am



Much appreciated@ 


Dear all, I am interested in a model containing an interaction between two L1predictors and one L2predictor. This is the model: within = x w xw; between = z; model: %within% y on x w; s y on xw; %between% y on z; [s]; s on z; y with s; How can I plot the interaction and calculate simple slopes adapting the input from example 9.2b? I would like to calculate slopes for low/ high values of w and z. Thank you. 


Do you mean that you are interested in a 3way interaction between x,w, and z? 


yes, exactly. 


You can just play with the regression equations for your model: y = a_j + b1*x + b2*w + b3_j*w + error a_j = a + g1*z + error b3_j = b + g2*z + error Here a_j is your random intercept which appears as Y on Between and b3_j is your random slope s in the regression of y on the xw interaction. Plugging the last 2 equations into the first, you have y = a + g1*z + b1*x + b2*w + (b + g2*z)*xw + error terms, where the terms involving x can be summarized as [b1 + (b + g2*z)*w]*x. That would be the simple slope that can be evaluated as a function of x for different combinations of values of z and w  but you better check that I did the algebra right. This can be done like the plot of ex 9.2b where you just have a different simple slope formula as given above and you have not only 2 expressions you want to plot but perhaps 4 (low/high z combined with low/high w). 


Dear Prof. Muthen, that is exactly what I was looking for, thank you very much! 

Silvia posted on Tuesday, October 30, 2018  6:12 am



Dear Prof. Muthen, as in the previous post, I need to estimate the simple slopes for a three way interaction between x, w (both level 1) and z (level 2). I would like to know whether my syntax is accurate in labeling the terms for the simple slope formula you suggested ([b1 + (b + g2*z)*w]*x). %WITHIN% Y on X (b1); Y on W C1 C2; s  Y ON XW; %BETWEEN% Y on Z; [s] (b); s on Z (g2); y with s; Thank you 


This looks correct. 

Back to top 