MPlus Basics

Doug Hemken

January 2015

Mplus is software devoted to fitting a broad variety of structural equations models. The variety of these models is enormous.

The software is designed to make fairly easy fitting many specialized models within the SEM world: by understanding a few key commands and understanding the defaults for options left unspecified, many models can be fit with just a few lines of code.

In the examples that follow, we will look at simple examples that illustrate the use of the MPlus programming language. Although the commands are specified completely here, much of the output is skipped. To get the most out of the following discussion, run each example yourself using MPlus, and be sure you understand which part of the output illustrates any points that are made.

The Bare Bones

MPlus takes your data from a text file, plus your analysis commands from an input (inp) text file, and produces output in the form of a text file (out) and sometimes a diagram (dgm).

The text file containing your data can come in a few different forms, but at a minimum your input file needs to tell MPlus the name of the file with your data, and the names of the variables it contains.

In addition to pointing to the data, your input file will also typically have a command specifying the model you want to estimate. You will have one model per input file. It is common style to also include a title for each model/file.

Descriptive Stats

Analysis Type Basic

Perhaps the simplest analysis you can do using MPlus is to ask for descriptive statistics for your data. For example, using the ex3.1.dat data file (copy this from C:\Program Files\Mplus\Mplus Examples\User's Guide Examples) (note example 3.1 as written in the User's Guide does not work with the example file)

title: Basic stats
data:  file=ex3.1.dat;
variable: names= x1 x2 x3
analysis:  type=basic

A note on syntax: MPlus commands begin with a keyword and colon, and may include one or more subcommands, or options. These options are terminated with the semi- colon. Although we did not do this above, it is perhaps easiest to just habitually end every command and option with a semi-colon.

Comments are preceeded by an exclamation point.

Output can include a lot of information. Here is just part of the output from the commands above.

RESULTS FOR BASIC ANALYSIS

     SAMPLE STATISTICS

           Means
              X1            X2            X3
              ________      ________      ________
      1         0.485         0.001        -0.042

           Covariances
              X1            X2            X3
              ________      ________      ________
 X1             2.408
 X2             1.078         1.094
 X3             0.648         0.028         0.957

           Correlations
              X1            X2            X3
              ________      ________      ________
 X1             1.000
 X2             0.665         1.000
 X3             0.427         0.028         1.000

UNIVARIATE HIGHER-ORDER MOMENT DESCRIPTIVE STATISTICS

         Variable/         Mean/     Skewness/   Minimum/ % with                Percentiles
        Sample Size      Variance    Kurtosis    Maximum  Min/Max      20%/60%    40%/80%    Median
     X1                    0.485      -0.012      -4.116    0.20%      -0.768      0.070      0.429
             500.000       2.408      -0.136       5.111    0.20%       0.777      1.894
     X2                    0.001      -0.133      -3.145    0.20%      -0.922     -0.235      0.023
             500.000       1.094      -0.162       2.920    0.20%       0.304      0.876
     X3                   -0.042      -0.057      -3.139    0.20%      -0.921     -0.353     -0.040
             500.000       0.957      -0.357       2.875    0.20%       0.274      0.859

Means and Variances Model

Remarkably, there is an even simpler set of commands you could submit. You do not need a title: command, and there is actually a default analysis:. Try

! The simplest MPlus command file
data:  file=ex3.1.dat;
variable: names= x1 x2 x3

Looking at the output below, you should recognize that this is a structural equations model in which all the variables are observed (sometimes called a path model), and in which there are no regression relations or correlations among the observed variables. Therefore this model has fit statistics, and standard errors of each estimated parameter.

A portion of the output is:

MODEL RESULTS
                                                    Two-Tailed
                    Estimate       S.E.  Est./S.E.    P-Value
 Means
    X1                 0.485      0.069      6.987      0.000
    X2                 0.001      0.047      0.028      0.978
    X3                -0.042      0.044     -0.964      0.335
 Variances
    X1                 2.408      0.152     15.811      0.000
    X2                 1.094      0.069     15.811      0.000
    X3                 0.957      0.061     15.811      0.000

and MPlus produces an accompanying diagram. Immediately after obtaining output, you can use <Alt-D> to see the model diagram, including many of the estimated parameters.

Descriptive Statistics with Models

Since we are on the topic of descriptive sample statistics, it is worth pointing out that you can obtain them with any modeling command, just by specifying the sampstat option on the output: command.

title: Sample stat output
data:  file=ex3.1.dat;
variable: names= x1 x2 x3;
model:
    x1 on x2 x3;
output: sampstat

produces results from the type=basic analysis, as well as the model results.