TITLE:
  Ch 7b: Fixed Cubic, Random Linear Age Model

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

DEFINE:
  agesq = agec18*agec18;
  agecub = agec18*agec18*agec18;

VARIABLE:
  NAMES = PersonID att12 copymon18 occasion age risky monitor agec18 att4;
  USEVARIABLES = risky agec18 agesq agecub;
  MISSING = ALL (-9999);
  CLUSTER = PersonID;
  WITHIN = agec18 agesq agecub;

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

MODEL:

%WITHIN%
  risky;
  linear | risky ON agec18;
  quad | risky ON agesq;
  cubic | risky ON agecub;

%BETWEEN%
  [risky linear quad cubic] (int bagec18 bagesq bagecub);
  risky linear quad@0 cubic@0;
  risky WITH linear;