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 . 

Back to top 