Can MPLUS analyze a general three-lev... PreviousNext
Mplus Discussion > Multilevel Data/Complex Sample >
 Keith posted on Monday, December 12, 2005 - 12:34 pm
As title, can MPLUS analyze a general three-level model (e.g., students nested within classrooms nested within schools)? Do you have any example syntax for analyzing this type of dataset? Thanks!
 Linda K. Muthen posted on Monday, December 12, 2005 - 2:49 pm
No, with cross-sectional data only two levels are allowed.
 Sara Douglass posted on Friday, June 15, 2012 - 7:10 am
I was wondering if it remains true for MPlus version 6.12 that only two levels are allowed in cross-sectional data, or if three levels can now be analyzed?
 Linda K. Muthen posted on Friday, June 15, 2012 - 1:00 pm
Version 6.12 can handle two cross-sectional levels. Three cross-sectional levels will be available in Version 7.
 Simone Kauffeld posted on Wednesday, December 20, 2017 - 6:58 am
Hi Linda and Bengt,

I have a data set where individuals, nested in groups were questioned at different points in time. I want to show the relationship between two variables, measured at the individual level (communication and team performance) on an intraindividual level (i.e., within the individuals over the multiple time points. Yet I still need to control the data's nestedness (in individuals as well as groups).
Now, if I understood it correctly, this is what would classify as a three-level model. Moreover, I assume a quadratic relationship between the two variables.

This is what I assume my model should look like:

usevar = Team MemberID Communication TeamPerf sCommunication;
missing = all(-99);

WITHIN ARE Communication sCommunication;
define: sCommunication = Communication*Communication;

TeamPerf on Communication;
TeamPerf on sCommunication;



Does this look right to you?
 Bengt O. Muthen posted on Wednesday, December 20, 2017 - 12:19 pm
Yes, you can do this as a 3-level model - or, as a 2-level wide model. Your 3-level setup looks ok except I think you want TeamPerf variance also on the Team level.

In your Define command you want to subtract the mean before creating the product.
 Simone Kauffeld posted on Thursday, December 21, 2017 - 7:53 am
Great, thanks for the quick response!

As a follow-up:
I would like the aforementioned relationship (only the quadratic term) to be moderated by time:

define: sCommunication = Communication*Communication;
mod = sCommunication *time;

TeamPerf on Communication;
TeamPerf on sCommunication;
TeamPerf on time;

TeamPerf on mod;



Would this be the way to go?
 Bengt O. Muthen posted on Thursday, December 21, 2017 - 3:22 pm
 Simone Kauffeld posted on Monday, December 25, 2017 - 9:47 am
Hi Bengt,

once again thanks for the quick response. I just realized I had overread your comment with regards to mean-centering ("In your Define command you want to subtract the mean before creating the product").

Would you always recommend centering before creating quadratic terms? In this case, this would refer to centering around the variable's grand mean, right?

Having done so, my linear term (which had reached significance before, as had my quadratic term) has become insignificant. I now fear that albeit the still significant quadratic term, I now cannot interpret the results. What would you say?
 Bengt O. Muthen posted on Tuesday, December 26, 2017 - 4:16 pm
Centering is discussed in

Structural Equation Modeling: A Multidisciplinary Journal, 22: 617–630, 2015

The Role of Centering for Interaction of Level 1
Variables in Multilevel Structural Equation Models
Ehri Ryu

In line with regression, look at the combined effect of the linear and quadratic terms using a plot giving significance regions as shown in the Table 1.8 runs from our book at
 Simone Kauffeld posted on Saturday, December 30, 2017 - 12:46 pm
Thanks. One more question:

In my last model, which includes the interaction of the quadratic term with time point, this would mean (just on the within level):

Communication_c = Communication - mean;
sCommunication = Communication_*Communication_c;
time_c = time - mean;
mod = sCommunication *time_c;

TeamPerf on Communication_c;
TeamPerf on sCommunication;
TeamPerf on time_c;

TeamPerf on mod;

Right? (with the name "mean" obviously replaced by the variable's mean value). Or would I also have to center the quadratic term (even though it's the product of centered variables)?
 Bengt O. Muthen posted on Saturday, December 30, 2017 - 4:12 pm
Seems right the way you have it. You typically don't center quadratic terms.
 Simone Kauffeld posted on Thursday, January 18, 2018 - 11:41 pm
Hello again,

I am trying to plot the moderation explained above using the syntax from table 1.8 as you recommended, but I am not sure it's right:

Communication_c = Communication - mean;
sCommunication = Communication_c*Communication_c;
mod = sCommunication*;

TeamPerf on Communication;
TeamPerf on sCommunication (b1);
TeamPerf on time (b2);

TeamPerf on mod (b3);


%BETWEEN Gruppe%
[TeamPerf] ;

model constraint:
effect = b1 + b3*x;

type = plot3;

also, I am planning on using the mplus.r code to plot my function in r (as I understand mplus can't do multilevel plots). do you know what the correct command would be to plot this in r?
 Bengt O. Muthen posted on Friday, January 19, 2018 - 11:41 am
I don't understand why you have both the sCommunication and the mod variable in the model.

I don't have R code for this plot.
 Lisa M. Yarnell posted on Wednesday, October 21, 2020 - 2:49 pm
Hello! I see this sentence in the V8 Manual: "Complex survey features are not available for TYPE=THREELEVEL with categorical variables or TYPE=CROSSCLASSIFIED because these models are estimated using Bayesian analysis for which complex survey features have not been generally developed" (p. 262).

My questions are:
1) Does "categorical" above refer to independent variables, dependent variables, or both?
2) Does this mean that NO complex survey features can be used in TYPE=THREELEVEL with categorical variables, including both weights and strata?
3) Does the sentence above also hold true for Version 8.4?

Thank you.
 Linda K. Muthen posted on Wednesday, October 21, 2020 - 4:57 pm
1. Dependent variables.
2. Yes.
3. Yes.
 Lisa M. Yarnell posted on Thursday, October 22, 2020 - 4:23 pm
Thank you, Linda. This is very helpful.

I did notice, in running a three-level model with survey weights, however, that the SUBPOPULATION command is not available for TYPE=THREELEVEL.

Is this because this survey feature has not yet been developed for Mplus, or has it not been developed more generally (e.g., the underlying statistical work needed)?

Or, is it not needed for another reason, statistically, in the three-level case? Typically, subpopulation options ensure accurate standard errors when conducting a survey weighted analysis for a subpopulation.

Thank you again for your support and the wonderful Mplus software! Lisa
 Tihomir Asparouhov posted on Tuesday, October 27, 2020 - 2:00 pm
Multilevel subpopulation analysis is discussed in Section 4
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Enable HTML code in message
Automatically activate URLs in message