TITLE:
  Ch 9: Random Quadratic Age Model for Monitoring

DATA:
  ! Prior necessary data manipulation conducted using other programs
  FILE = MPLUS_Chapter9.csv;
  FORMAT = FREE;

DEFINE:
  agesq = agec18*agec18;

VARIABLE:
  NAMES = PersonID att12 PMmon copymon18 occasion age risky monitor agec18 att4
          mon3 PMmon3 WPmon A18mon3 Ch18mon;
  USEVARIABLES = monitor agec18 agesq;
  MISSING = ALL (-9999);
  CLUSTER = PersonID;
  WITHIN = agec18 agesq;

ANALYSIS:
  ESTIMATOR = ML;
  PROCESSORS = 4;
  TYPE = TWOLEVEL RANDOM;

MODEL:

%WITHIN%
  monitor;
  linear | monitor ON agec18;
  quad | monitor ON agesq;

%BETWEEN%
  [monitor linear quad] (int bagec18 bagesq);
  monitor linear quad;
  monitor linear quad WITH monitor linear quad;