Message/Author 


Hello, I am working on a multilevel meta analysis. The model we have has a continuous Level 1 outcome, a continuous Level 1 predictor, and a continuous Level 2 predictor. I have been able to easily fit a fixed effects model to the data in MPlus, and would like to now fit a random effects model. However, I am running into serious issues with this model, and in looking more closely at the available examples for such analyses I have noticed that they all only use Level 1 predictors. Indeed, when the Level 2 predictor is excluded, the random effects model runs just fine. I am wondering if it is possible to estimate such a model including a Level 2 predictor, and if you might be able to point me to any references regarding this type of analysis? Thank you, Sara Douglass 


You cannot use a level 2 predictor on level 1. You may be wanting a crosslevel interaction. See Example 9.2 in the user's guide. 


Sorry, let me clarify: Is it possible to just include a Level 2 predictor, at Level 2, while modeling a random slope at Level 1. For instance: %WITHIN% s  x on y; %BETWEEN% s; [sw]; [x@0.0]; x@1.0; x on z; Thank you! 


I apologize for the error above  I meant [s]; not [sw]; 


The variable x must be on the WITHIN list when it is used as part of a random slope. So x cannot appear on between. See Example 9.2. 


Hello I am working on a 3 level metaanalysis. In my data, the effect sizes (= level 1) are nested under samples (= level 2) which are nested under countries (= level 3). In your handout, I found code for a twolevel metaanalysis (on slide 157): https://www.statmodel.com/download/Topic9v52%20%5BCompatibility%20Mode%5D.pdf My understanding is that in your code ID is the unique identifier for each level 2 cluster (samples in my case). I would like to apply your approach to 3 level data. In addition, I would like to test a level 3 moderator. As in your code, ID is the unique identifier for each level 2 cluster (= samples). CLUSTER is the unique identifier for each level 3 cluster (= countries): VARIABLE: Names = Cluster Id y sd A_SB; USEVARIABLE = y A_SB x; CLUSTER = Cluster Id; WITHIN = y x; BETWEEN = (Cluster) A_SB; DEFINE: y = y/sd; x = 1/sd; ANALYSIS: TYPE = THREELEVEL RANDOM; ESTIMATOR = ML; MODEL: %WITHIN% [y@0.0]; y@1.0; theta  y ON x; %BETWEEN Id% theta; %BETWEEN Cluster; theta ON A_SB; Is this correct? Thank you! 


Looks like it is on the right track. 


Dear Drs. Muthen, I am working on a 3level metaanalysis, in which the effect sizes (level 1) are nested in samples (level 2) which are nested in countries (level 3). In our data, ID is the unique identifier for the level 2 clusters (i.e., samples) and CLUSTER is the unique identifier for the level 3 clusters (i.e, countries). We have observed predictors on level 2 (cond, task) and level 3 (cult) to be tested as moderators. Using the code below worked to get the results. VARIABLE: Names = CLUSTER ID cond task cult r vi; USEVARIABLE = cond task cult cor w2; CLUSTER = CLUSTER ID; WITHIN = cor w2; BETWEEN = (CLUSTER) cult; BETWEEN = (ID) cond task; DEFINE: w2 = SQRT(vi**(1)); !Weight for transformation cor = w2*r; !transformed r ANALYSIS: TYPE = THREELEVEL RANDOM; ESTIMATOR = ML; MODEL: %WITHIN% [cor@0.0]; cor@1.0; f  cor ON w2; %BETWEEN Id% f ON cond task; %BETWEEN CLUSTER; f ON cult; However, we would also like to test crosslevel interaction effects between level 2 and level 3 variables. Is this generally possible and, if yes, how can I implement this in the model? Many thanks, Matthias 


Yes, this crosslevel interaction is possible. For the Between id level, you can add random slopes s1 and s2 s1  f on cond; s2  f on task; and then regress s1, s2 on a variable at the Between Cluster level. 


Many thanks for your quick response! This works nicely. 

Back to top 