Many multilevel models can be estimated using mixed model procedures however the syntax will be
rather different. The **ml2mixed** command (**search ml2mixed**; (see How can I use the search command to search for programs and get additional help? for more information about using **search**) can be used to help you convert from the multilevel model specification to the **mixed** syntax. The **ml2mixed** command will work for multilevel models with either two or three levels. For two level models **ml2mixed **allows for both random intercepts and random slopes at level 2 while the three level model only allows for random intercepts.

We will begin with a simple example of a 2-level unconditional model with random intercepts. The
dependent variable is placed in the **dep()** option and the level-2 cluster variable is put into the **l2id()**.

ml2mixed, dep(math) l2id(class)Multilevel Model Level 1 Model math = Level 2 Model -- id = class [int] = Stata Mixed Model -- Stata 11 notation xtmixed math /// || class:

Now we can add two level-1 predictors **hmwk** and **gender** using the **l1()** option.

ml2mixed, dep(math) l1(hmwk gender) l2id(class)Multilevel Model Level 1 Model math = hmwk gender Level 2 Model -- id = class [int] = Stata Mixed Model -- Stata 11 notation xtmixed math hmwk gender /// || class:

For the next example we will keep the two level-1 predictors and add a level-2 predictor of the random
intercept. The level-2 intercept predictor is placed in the **l2i()** option.
In addition, we will include the **notes** option which displays some hopefully helpful comments.

ml2mixed, dep(math) l1(hmwk gender) l2id(class) l2i(meanses) notesMultilevel Model Level 1 Model math = hmwk gender Level 2 Model -- id = class [int] = meanses Stata Mixed Model -- Stata 11 notation xtmixed math hmwk gender meanses /// || class: Stata Notes 1) Categorical predictors need the i. prefix. 2) Continuous variables in interactions need the c. prefix. 3) Use var option to get variances instead of standard deviations. 4) If outcome variable is binary use -xtmelogit- command. 5) If outcome variable is a count use -xtmepoisson- command.

Next is a model with a random slope for **hmwk** in addition to having a random intercept. The
random slope is indicated by putting the level-1 variable inside square brackets within the
**l2s()** option. This example also includes the **sas** and **spss** options with provide
the syntax for the SAS **proc mixed** and for the SPSS **mixed** procedures respectively.

ml2mixed, dep(math) l1(hmwk) l2id(class) l2i(meanses) l2s([hmwk]) sas spssMultilevel Model Level 1 Model math = hmwk Level 2 Model -- id = class [int] = meanses slope[hmwk] = Stata Mixed Model -- Stata 11 notation xtmixed math hmwk meanses /// || class: hmwk , cov(unstr) SAS Proc Mixed proc mixed; class class [...]; model math = hmwk meanses / solution; random intercept hmwk / subject=class type=un; run; SPSS Mixed mixed math [by...] with hmwk meanses /print = solution /fixed = hmwk meanses /random = intercept hmwk | subject(class) covtype(un).

In the next model we include a predictor for the random slopes. We do this by including
the variable names after the square brackets in the **l2s()** option.
Please note that the **ses#meanses** term in the model is Stata 11 syntax. If you are running
an earlier version of Stata you will need to create interactions using the **xi** or create
them manually.

ml2mixed, dep(math) l1(hmwk ses) l2id(class) l2i(meanses) l2s([ses] meanses [hmwk] meanses) notesMultilevel Model Level 1 Model math = hmwk ses Level 2 Model -- id = class [int] = meanses slope[ses] = meanses slope[hmwk] = meanses Stata Mixed Model -- Stata 11 notation xtmixed math hmwk ses meanses ses#meanses hmwk#meanses /// || class: ses hmwk , cov(unstr) Stata Notes 1) Categorical predictors need the i. prefix. 2) Continuous variables in interactions need the c. prefix. 3) Use var option to get variances instead of standard deviations. 4) If outcome variable is binary use -xtmelogit- command. 5) If outcome variable is a count use -xtmepoisson- command.

The final model is a 3-level model with a level-3 variable, **poverty**, predicting the random
intercept for **hmwk**. The level-3 identified is indicated with the **l3id()** option and the level-3 predictor variable with the **l3i()** option.

ml2mixed, dep(math) l1(hmwk) l2id(class) l2i(meanmath) l2s([hmwk] meanmath) l3id(school) l3i(poverty)Multilevel Model Level 1 Model math = hmwk Level 2 Model -- id = class [int] = meanmath slope[hmwk] = meanmath Level 3 Model -- id = school [int] = poverty Stata Mixed Model -- Stata 11 notation xtmixed math hmwk meanmath poverty hmwk#meanmath /// || school: || class: hmwk , cov(unstr)