Multilevel with three levels PreviousNext
Mplus Discussion > Multilevel Data/Complex Sample >
Message/Author
 Saskia Mulder posted on Tuesday, April 28, 2015 - 4:25 am
Dear Drs. Muthen,

I am doing Latent multiple-group cross-lagged analyses do examine the longitudinal association between two continuous variables moderated by gender.

However, the data has a multilevel structure with children in classes and classes nested in schools. We don’t have any variables on the class or school level, but do want to control for the non-independence of the data. Until now I have used the cluster function for classroom to take into account that children are nested in classes. However, a reviewer suggested to also take into account the school level. Is it possible to use the cluster function for two clusters which are nested (i.e., classes in schools)? I know that three-level models are now possible with regular multilevel modeling in Mplus, but I could not find whether the cluster function can also be applied to three levels.

Thanks very much for your help in advance!

Cheers,

Saskia Mulder
 Bengt O. Muthen posted on Tuesday, April 28, 2015 - 10:25 am
Check the UG index for CLUSTER.
 Saskia Mulder posted on Friday, May 08, 2015 - 6:32 am
Dear Drs. Muthen,

Thank you for your respons. I am sorry, but I don't know what the UG index is and where I can find this. Could you please explain this to me?

Thank you!

Cheers, Saskia Mulder
 Bengt O. Muthen posted on Friday, May 08, 2015 - 8:22 am
"UG" is the Mplus Version 7 User's Guide and in the back of it you find "Index".
 Saskia Mulder posted on Tuesday, May 12, 2015 - 6:06 am
Okay, that was logical...

I have now found that it is possible to use the cluster command with a threelevel model.

I have specified:
cluster = school Class;
MISSING ARE ALL(999);
GROUPING = Geslacht (0=BOY 1=GIRL);

ANALYSIS: TYPE = threelevel;

However, now I get the error : Cluster ID cannot appear in more than one group.

Is it not possible to do the threelevel cluster analyses in multigroup analyses?

Cheers, Saskia
 Bengt O. Muthen posted on Tuesday, May 12, 2015 - 7:39 am
Within-cluster grouping needs special modeling and is discussed in Web Note 16. Grouping is straightforward only when referring to the highest level.
 Melvin C Y posted on Thursday, June 11, 2015 - 2:06 pm
Dear Drs. Muthen,

How do you specify the within and between command in a three level model with some variables specified at L1 and L2 only.

Cluster = L3 L2;
Between are ??;

ModeL:
%within%
a; b; c;
%between L2%
a; b; c;
%between L3%
c;
 Bengt O. Muthen posted on Thursday, June 11, 2015 - 4:22 pm
See page 571 of the UG.
 Shahid Khan posted on Tuesday, July 10, 2018 - 3:57 am
Dear Muthen,
Appended below is the 3-level MSEM syntax in which Level3 (W) ->Level1 (X) & Level2 (Z) ->Level1 (X) ->Level1 (Y).
How can I develop a syntax for a 3-level trick down model in which Level3 (W) -> Level2 (Z) -> Level1 (X) -> Level1 (Y).

USEVARIABLES ARE Org Group W Z X Y;

WITHIN = Y;
BETWEEN = (Group) Z (Org) W;
CLUSTER IS Org Group;
Missing are all (-99);

ANALYSIS: TYPE IS THREELEVEL RANDOM;
MODEL:
%WITHIN%
X Y;
Y ON X(c);

%BETWEEN Group%
Z X;
X ON Z(b);

%BETWEEN Org%
W X;
X ON W(a);

MODEL CONSTRAINT:
NEW(indb1);
NEW(indb2);

indb1=a*b;
indb2=b*c;

OUTPUT: STDYX;
 Bengt O. Muthen posted on Tuesday, July 10, 2018 - 4:58 pm
This can be handled by letting W influence the Org-level parts of Z, X, and Y. You don't want to put Y on the Within list.
 Shahid Khan posted on Thursday, July 12, 2018 - 2:42 am
Hi Muthen

Thanks for your response.
according to your instructions, I removed Y from the within list but it gave me the following error.

I think the problem in this syntax is that if you specify the variables on their respective levels such as level 3 and level 2, then you cannot regress the level 2 variable on level 3 variable (I think this syntax cannot be run in MPlus and seems to me an MPlus limitation). Please advise if it is possible? otherwise I will run the model in two separate syntaxes such as in a syntax-one I will run Level3 -> Level2. and in a syntax-two Level2 ->Level1 -> Level1.

*** ERROR in MODEL command
Variables that have been declared as variables for the BETWEEN GROUP level
cannot be used on the BETWEEN ORG level.
Variable incorrectly used: AGG_ASC
*** ERROR in MODEL command
Variables that have been declared as variables for the BETWEEN GROUP level
cannot be used on the BETWEEN ORG level.
Variable incorrectly used: AGG_ASC
*** ERROR
The following MODEL statements are ignored:
* Statements in the BETWEEN ORG level:
AGG_ASC
AGG_ASC ON AGGEPHC
 Bengt O. Muthen posted on Thursday, July 12, 2018 - 3:45 pm
The V8 UG on our website, page 634, says:

"If a variable measured at level 2 is mentioned on the Between list without a label, it is modeled on levels 2 and 3."

This means that you can relate the level 3 part of such a variable to a level 3 only variable.

If this doesn't help, send your output to Support along with your license number.
 Shahid Khan posted on Thursday, July 12, 2018 - 5:49 pm
Hi Muthen

Thank you very much for this help. According to your advice, I removed the label of level 2 variable at the between level and it worked.

Can you please have a look at the following final syntax, specifically on the Define (e.g., standardize and center options) as well as on the model constraint command, whether these are correctly specified?

DEFINE: standardize W Z X Y;
DEFINE: CENTER W Z X(GRANDMEAN);
VARIABLE: NAMES ARE Org Group W Z X Y;

USEVARIABLES ARE Org Group W Z X Y

BETWEEN = Z (Org) W;
CLUSTER IS Org Group;
Missing are all (-99);

ANALYSIS: TYPE IS THREELEVEL RANDOM;
MODEL:
%WITHIN%
X Y;
Y ON X(c);

%BETWEEN Group%
Z X;
X ON Z(b);
Y ON Z;

%BETWEEN Org%
W Z;
Z ON W(a);
X ON W;
Y ON W;

MODEL CONSTRAINT:
NEW(indb1);
indb1=a*b*c;

OUTPUT: TECH1 TECH8 CINTERVAL;
 Bengt O. Muthen posted on Friday, July 13, 2018 - 2:06 pm
Standardization is not needed, nor is grandmean centering.

Your Cluster= statement is wrong if Group is the highest level. See UG page 620 (it is very helpful to get guidance from the UG; just check the index) - you must give the highest level first) so Cluster = Group Org;

Otherwise, the modeling is fine. Except I wonder why on level 2 you don't have an influence from x to y and same for level 3.
 Shahid Khan posted on Friday, July 13, 2018 - 7:20 pm
Hi Muthen

Thank you for your quick response and helping me to refine my syntax.

Can you please explain (or give me some references) for why Standardization is not needed, nor is grandmean centering?

In addition, How can I get the R-Square Values for within- and between-levels?

Thanks in advance for your help.
 Bengt O. Muthen posted on Sunday, July 15, 2018 - 2:32 pm
Regarding centering, see the 2007 Psych Methods article by Enders & Tofighi. Standardization of variables before analysis is almost never needed.

The R-square should be printed if you ask for Standardized in the Output command.
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: