Message/Author 

TD posted on Monday, November 19, 2007  7:32 am



Hello  Forgive me if this question is too general. I have used HLM to determine the siginificance of a crosslevel interaction in a multilevel model. However, I would like to compare the fit of the overall path model, to a second nested model. I have decided to use SEM and Mplus to do this. Yet, it is not clear to me if I can generate a crosslevel interaction with a multilevel SEM. I haven't seen this in the literature either. The models and literature by both Muthens has been very helpful, but I hadn't seen anything about this possibility. You are innovators with regard to multilevel SEMs, so I am sure you can offer some information. 


A crosslevel interaction, or a betweenlevel (level 2) variable moderating a within level (level 1) relationship, as shown below as the random slope in y regressed on x: yij = beta0 + beta1j xij + rij beta1j = gamma10 + gamma11 wj + u1j gives the interaction, a product of xij and wj if you insert the beta1j equation in the yij equation. is specified in Mplus as: MODEL: %WITHIN%; beta1  y ON x; %BETWEEN%; beta1 ON w; ! estimates gamma11 The variable y can be observed or latent that is a factor measured by multiple indicators. 

TD posted on Monday, November 19, 2007  9:31 am



Thank you so much! 

Verena Hahn posted on Tuesday, August 07, 2012  6:45 am



Hi, I would like to estimate a crosslevel interaction in which the slope is not randomly varying: yij = beta0 + beta1j xij + rij beta0j = gamma00 + gamma01 wj beta1j = gamma10 + gamma11 wj How can I specify this in Mplus? I thought the following might work. Is this right? MODEL: %WITHIN%; beta1  y ON x; %BETWEEN%; y on w; beta1 ON w; beta1 @0; Thanks! 


That looks correct. 


I just wanted to confirm that the Verena Hahn's post on Tuesday, August 7th, 2012 is still what you would suggest. I have a multilevel model where repeated measures are taken at two time points within persons. I'm only interested in the fixed effect of the within person slope but to also allow a random intercept. I also expect that the fixed slope will be moderated by a level 2 variable. In other words, I'm only interested in examining whether the average within person effect changes as a function of a level 2 variable. As such, I'm interested in a crosslevel interaction where the level 1 slope is not randomly varying. Would you still recommend implementing this in Mplus as: MODEL: %WITHIN%; beta1  y ON x; %BETWEEN%; y on w; beta1 ON w; beta1 @0; 


That seems like a correct setup. I wouldn't say that the slope isn't varying because it does vary as a function of w. I also don't see the need for fixing the residual variance at zero for the slope on between  that says w totally determines the variation in the slope. 


Thank you Dr. Muthen. I see what mean about the slope varying across w. If I omit the residual constraint (i.e., beta1 @0) won't that estimate the random effect for the level 1 slope? I was under the impression that with only two level 1 observations a model with both a random intercept and slope would be underidentified and that the residual constraint is necessary for model identification. Thank you. 


Try freeing this residual variance and see if Mplus tells you about any problems. 


Good morning: I have a quick question. When we are testing crosslevel interactions, do we test the main effects between the two level 1 variables in the hypothesized interactive model? For example: Within s1  Y ON X; YW ON X; Between s1 WITH YB; YB s1 ON Z1 Z2; In the above model, the effect of YW ON X is negative and nonsignificant. Whereas in the main effects model, the effect was positive and significant. I saw some papers report similar effects but argued that lower level effects should not be interpreted in the presence of higher level effects. Is that the way to go? And what the reasoning behind such an effect? Thank you. 


In a model like the following, y ON x1 x2 x1x2, if the interaction is significant, you do not interpret the main effects. That is because they do not behave the same for everyone. There is an interaction. I don't understand your model above in the context of your question. 


Dear Dr Muthen and Muthen, I have specified a crosslevel interaction as follows: %within% S  x on y; %between% S on w; In my output, I get the estimates for ’s on w’, but not for ‘x on y’. I was wondering why this is. Thank you for your help! Aurelie 


x ON y has a random slope not a fixed slope like s ON w. You will get an intercept and residual variance for the random slope in the between results. 


Of course! That makes sense. Thank you so much for your clarification. 


Dear Dr Muthen, I'm testing a crosslevel interaction in a threelevel longitudinal model (timepersonsclasses). L3 (timeinvariant) predictor "Z_grandmean" moderates the random effect of L2 (timeinvariant) predictor "X_grandmean" on L1 outcome "Y". 1. Is this code correct?: cluster = class id; between = (id)X_grandmean (class) Z_grandmean; within = wave Qwave X_personcenter; MODEL: %within% Y; S1  Y ON wave; Y ON Qwave; Y ON X_personcenter; %between id% Y; S1; Y WITH S1; S2  S1 ON X_grandmean; %between class% Y; s1; s2; Y WITH s1; Y WITH s2; s2 ON Z_grandmean; 2. When I'm running this code I get an error message: "One or more betweenlevel variables have variation within a cluster for one or more CLASS clusters. Check your data and format statement. Between Cluster IDs with variation in this variable: Z_grandmean 34 19 31 36 16 6 14" Z_grandmean is grandmean centered at L3 and X_grandmean is grandmean centered at L2. 


The code seems ok. The problem lies in the data as suggested by the error message  check the data. 


Thank you for taking a look at the code. Just to make sure: shouldn't I also include: at the %between class% level S1 ON Z_grandmean Y ON Z_grandmean and at the %between id% level Y ON X_grandmean? 


Yes, that would be better. 


Dear Dr Muthen, I am currently testing a level 1 mediation model with a level 2 moderator variable (VAR). The model gives me this error message: *** WARNING in MODEL command Variable on the lefthand side of an ON statement in a  statement is a WITHIN variable. The intercept for this variable is not random. Variable: RC *** WARNING in MODEL command Variable on the lefthand side of an ON statement in a  statement is a WITHIN variable. The intercept for this variable is not random. Variable: COMM For the given script: WITHIN = NPI RC COMM; BETWEEN = VAR; define: center NPI RC (groupmean); ANALYSIS: TYPE = TWOLEVEL RANDOM; MODEL: %WITHIN% snpirc RC ON NPI; snpicomm COMM ON NPI; %BETWEEN% snpirc ON VAR; snpicomm ON VAR; Is it possible to run this model without a twolevel random analysis? As it does not work with a TYPE= TWOLEVEL analysis either. Any help is welcome and thank you! Matt B 


Putting RC and COMM on the Within list says that they don't vary across Between units and this is a contradiction to saying that you have random slopes for those DVs. If you have random slopes, they will vary over clusters. So remove RC and COMM from the Within list. Also, you don't want to groupmean center RC . 


Dear Dr Muthen, I am fitting a threelevel model to check the effects of an observed binary covariate v1 (defined at level 1) and a latent variable decomposed into level2 and level3 components L2 and L3 on an outcome (d) defined at level 1: %WITHIN% d on v1 %BETWEEN level 2% L2 BY *observed items* d ON L2 %BETWEEN level 3% L3 BY *observed items* d ON L3 How can I define the crosslevel interaction effect between v1 and L3 on d? Many thanks! 


Say on Within s  d on v1; and on Between Level 3 d s on L3; 

N_2018 posted on Thursday, June 20, 2019  8:41 am



Hello, I am attempting to conduct several crosslevel interactions in a multilevel model. The outcome variable of interest is drinking (a singletimepoint variable). There are two withinperson variables pertaining to an experimental task condition: friend and peer. I want to know whether the effect of (friend x peer) on drinking depends on a third variable: frdrink, which is a betweenlevel, singletimepoint variable. I'm trying to model all the main effects and twoway interactions as is done in a standard OLS regression, but keep getting errors because creating a twoway interaction requires estimating the slope of my withinperson variables and my betweenperson predictor. Below is my input. I know it is incorrect, but I have it below so that it hopefully clarifies what I'm thinking. Will you kindly advise on the best way to proceed? Many thanks in advance! ... WITHIN = friend peer; BETWEEN = frdrink; CLUSTER = ID; COUNT = drinking; MISSING are all (999); ANALYSIS: TYPE = TWOLEVEL RANDOM; INTEGRATION = MONTECARLO; MODEL: %WITHIN% drinking ON friend peer; thresh  friend ON peer; s1  frdrink ON friend; s2  frdrink ON peer; 3wy  frdrink ON thresh; %BETWEEN% drinking ON frdrink s1 s2 thresh 3wy; 


I don't know why you have thresh  friend ON peer; Perhaps you want to use Define to compute friend*peer and use that interaction in the model? 

Back to top 