Skip to Main Content

Mplus Class Notes Entering Data


Mplus version 5.2 was used for these examples.

1.0 Entering free format data

Data files for Mplus are just plain ASCII text files. "Free format", where the values for
each of the variables are separated by a delimiter like a blank or a comma, is
one way in which data can be found in a text file. The
example below contains the first 20 lines from a file called
https://stats.idre.ucla.edu/wp-content/uploads/2016/02/hsb-1.dat. Here you can see the
variables are separated by commas, and the variable names are not on the
first line.  The
variables in the file are id, female, race, ses, schtyp,
prog, read, write, math, science and socst.

 70,0,4,1,1,1,57,52,41,47,57
121,1,4,2,1,3,68,59,53,63,61
 86,0,4,3,1,1,44,33,54,58,31
141,0,4,3,1,3,63,44,47,53,56
172,0,4,2,1,2,47,52,57,53,61
113,0,4,2,1,2,44,52,51,63,61
 50,0,3,2,1,1,50,59,42,53,61
 11,0,1,2,1,2,34,46,45,39,36
 84,0,4,2,1,1,63,57,54,58,51
 48,0,3,2,1,2,57,55,52,50,51
 75,0,4,2,1,3,60,46,51,53,61
 60,0,4,2,1,2,57,65,51,63,61
 95,0,4,3,1,2,73,60,71,61,71
104,0,4,3,1,2,54,63,57,55,46
 38,0,3,1,1,2,45,57,50,31,56
115,0,4,1,1,1,42,49,43,50,56
 76,0,4,3,1,2,47,52,51,50,56
195,0,4,2,2,1,57,57,60,58,56
114,0,4,3,1,2,68,65,62,55,61
 85,0,4,2,1,1,55,39,57,53,46

The Mplus commands to read the data are shown below.  These are the
commands that you can enter into a blank Mplus text file and save as an
input file (.inp). The title, data and variables command blocks are required.
The Analysis command block
is included so that we can check the data. We will go into this command block
in more detail in the next unit.

Title:
  Entering data example free format using https://stats.idre.ucla.edu/wp-content/uploads/2016/02/hsb-1.dat
Data:
  File is "D:/https://stats.idre.ucla.edu/wp-content/uploads/2016/02/hsb-1.dat";
Variable:
  Names are
    id female race ses schtyp prog read write math science socst;
  Usevariables are
    id female race ses schtyp prog read write math science socst;
Analysis:
  Type = basic;

After saving and running the .inp file, you can look in the output file for
"INPUT READING TERMINATED NORMALLY" appearing below the entered code. This is a
good first check that your data were read in successfully.  We will discuss
further checks in the next section.

2.0 Entering fixed format data

The file https://stats.idre.ucla.edu/wp-content/uploads/2016/02/fixed-1.dat contains ten observations with the data in fixed columns.
The codebook for the data is given below.

 195  094951
 26386161941
 38780081841
 479700  870
 56878163690
 66487182960
 786  069  0
 88194193921
 98979090781
107868180801
codebook
variable name column number
id 1-2
a1 3-4
t1 5-6
gender 7
a2 8-9
t2 10-11
tgender 12

Fixed format data are handled using a fortran-type format statement in the
data
command
block. The Mplus commands are shown below.  3F2.0 indicates that
the file begins with three variables each of length two.  These are
followed by one variable of length one (F1.0), then two of length 2
and one of length 1 (2F2.0, F1.0).  This matches what we see in
the codebook. 

Title:
  Entering data example fixed format using https://stats.idre.ucla.edu/wp-content/uploads/2016/02/fixed-1.dat
Data:
  File is "D:/https://stats.idre.ucla.edu/wp-content/uploads/2016/02/fixed-1.dat";
  Format is (3F2.0, F1.0, 2F2.0, F1.0);
Variable:
  Names are
    id a1 t1 gender a2 t2 tgender;
  Usevariables are
    id a1 t1 gender a2 t2 tgender;
Analysis:
  Type = basic;

Again, after saving and running this input, you can check the output to see
if  “INPUT READING TERMINATED NORMALLY” appears.

3.0 Entering data using Stata

If you are a Stata user, ATS has written a command, stata2mplus, that will
convert a Stata dataset to an Mplus ASCII data file plus the necessary commands
to read in the data. You can get the stata2mplus ado file by typing
search stata2mplus.

Here is the Stata command to load and convert the Stata dataset hsb2.dta to Mplus. 
It generates a .dat file containing the dataset and the input file
needed to read the dataset into Mplus.  It stores both in the present
working directory in Stata (enter pwd to get the path) with the
dataset name: hsb2.dat and  hsb2.inp.

use "https://stats.idre.ucla.edu/stat/stata/notes/hsb2.dta", clear
stata2mplus using hsb2

Looks like this was a success.
To convert the file to mplus, start mplus and run
the file hsb2.inp

The code from the input file created appears below. The file contains more detail
about the data file than our earlier examples but all of the same command
blocks are present. Again, the analysis type = basic is included to
allow you to run descriptive statistics in order to insure that the data
were input correctly.

Title:
  Stata2Mplus conversion for hsb2.dta
  List of variables converted shown below
  id :
  female :
    0: male
    1: female
  race :
    1: hispanic
    2: asian
    3: african-amer
    4: white
  ses :
    1: low
    2: middle
    3: high
  schtyp : type of school
    1: public
    2: private
  prog : type of program
    1: general
    2: academic
    3: vocation
  read : reading score
  write : writing score
  math : math score
  science : science score
  socst : social studies score
Data:
  File is hsb2.dat ;
Variable:
  Names are
     id female race ses schtyp prog read write math science socst;
  Missing are all (-9999) ;
  Usevariables are
     id female race ses schtyp prog read write math science socst;
Analysis:
  Type = basic ;

4.0 Entering missing data using Stata

Our next example of entering data is to enter a version of the hsb
dataset that has missing data. Below is the Stata code for reading the
missing data file and converting
it to an Mplus data file along with an Mplus input file (hsbmis.inp).

use https://stats.idre.ucla.edu/stat/mplus/seminars/IntroMplus/hsbmis.dta, clear
stata2mplus using hsbmis
Looks like this was a success.
To convert the file to mplus, start mplus and run
the file hsbmis.inp

The input file for this example is identical to the previous
example except for the file name. 

5.0 Entering data from SPSS

If you are an SPSS user, you can prepare your data to be read into Mplus with a few steps detailed in
SPSS FAQ: How can I move my data from SPSS to Mplus?.
Starting from the hsb2.sav dataset, once
you have created a .csv file, https://stats.idre.ucla.edu/wp-content/uploads/2016/02/hsb2.csv, without variable names, the code below can read
in your data.

Title:
  Entering data from SPSS
Data:
  File is "D:/data/https://stats.idre.ucla.edu/wp-content/uploads/2016/02/hsb2.csv";
Variable:
  Names are
	id female race ses schtyp prog read write math science socst;
Analysis:
  Type = basic;

6.0 Entering missing data from SPSS

If your SPSS data contains missing data, complete the same steps you would for non-missing SPSS
data, but note the values used for missing values. For example, if -999 is
the value used in coding missing values, then the previous example’s code
would be amended with a Missing line in the Variable: block
indicating this. Below, we use https://stats.idre.ucla.edu/wp-content/uploads/2016/02/hsbmis.csv.

Title: 
  Missing data from SPSS
Data:
  File is "D:datahttps://stats.idre.ucla.edu/wp-content/uploads/2016/02/hsbmis.csv" ;
Variable:
  Names are 
     id female race ses schtyp prog read write math science socst;
  Missing are all (-999) ; 
Analysis: 
  Type = basic ;

7.0 Entering missing data from a raw data file with dots (.)

Our last example of entering data is entering data with a raw data file
that has dots (.) to represent missing values. Say that you had a data file
that was either comma separated, tab separated, or space separated where .
was used to indicate missing values.  You can indicate such missing
values with a Missing are .; statement in the variable block like in
the example below which reads the https://stats.idre.ucla.edu/wp-content/uploads/2016/02/hsbmisdot-1.dat
data file.

Title: Missing with dots;
Data:
  File is https://stats.idre.ucla.edu/wp-content/uploads/2016/02/hsbmisdot-1.dat ;
Variable:
  Names are id female race ses schtyp prog read write math science socst;
  Missing are .;
Analysis:
  Type = basic;

The results of this are identical to the above example.