TITLE:
  Eq 9.2: Adding Within-Person Monitoring by Quadratic Age
  Using Deviation from Person Mean Monitoring as Within-Person Monitoring

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

DEFINE:
  agesq = agec18*agec18;
  WPage = agec18*WPmon;
  WPagesq = agec18*agec18*WPmon;

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

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

MODEL:

%WITHIN%
  risky;
  linear | risky ON agec18;
  quad | risky ON agesq;
  L1mon | risky ON WPmon;
  L1age | risky ON WPage;
  L1agesq | risky ON WPagesq;

%BETWEEN%
  [risky linear quad L1mon L1age L1agesq] (int bagec18 bagesq bWPmon bWPage bWPagesq);
  risky linear quad@0 L1mon@0 L1age@0 L1agesq@0;
  risky WITH linear;
  risky linear ON att4 (battint battlin);
  risky linear quad ON PMmon3 (bPMint bPMlin bPMquad);

MODEL CONSTRAINT:
  NEW(est1-est8);
! est1: Effect of PM Monitoring at Age 12
  est1 = bPMint*1 - bPMlin*6 + bPMquad*36;
! est2: Effect of PM Monitoring at Age 14
  est2 = bPMint*1 - bPMlin*4 + bPMquad*16;
! est3: Effect of PM Monitoring at Age 16
  est3 = bPMint*1 - bPMlin*2 + bPMquad*4;
! est4: Effect of PM Monitoring at Age 18
  est4 = bPMint*1 + bPMlin*0 + bPMquad*0;
! est5: Effect of WP Monitoring at Age 12
  est5 = bWPmon*1 - bWPage*6 + bWPagesq*36;
! est6: Effect of WP Monitoring at Age 14
  est6 = bWPmon*1 - bWPage*4 + bWPagesq*16;
! est7: Effect of WP Monitoring at Age 16
  est7 = bWPmon*1 - bWPage*2 + bWPagesq*4;
! est8: Effect of WP Monitoring at Age 18
  est8 = bWPmon*1 + bWPage*0 + bWPagesq*0;