SET PRINTBACK=NONE HEADER=NO.
FILE HANDLE filesave /NAME = "C:\Dropbox\PilesOfVariance\Chapter9\SPSS".
GET FILE = "filesave/SPSS_Chapter9.sav".
DATASET NAME Chapter9multiv WINDOW=FRONT.
COMPUTE PMmonitor = MEAN(monitor12 TO monitor18).
VARIABLE LABELS PMmonitor "PMmonitor: Person Mean Monitoring".
EXECUTE.
OUTPUT NAME SPSS_Chapter9_Output.
ECHO "Chapter 9: Descriptive Statistics for Time-Invariant Variables".
SUMMARIZE
/TABLES = attitude12 PMmonitor monitor18
/FORMAT = NOLIST TOTAL
/CELLS = COUNT MEAN STDDEV MIN MAX.
CORRELATIONS VARIABLES= PMmonitor monitor12 monitor18.
DATASET ACTIVATE Chapter9Multiv.
COMPUTE copymonitor18 = monitor18.
VARSTOCASES
/MAKE age FROM age12 TO age18
/MAKE risky FROM risky12 TO risky18
/MAKE monitor FROM monitor12 TO monitor18
/INDEX = wave (7)
/KEEP = ALL.
DATASET NAME Chapter9 WINDOW=FRONT.
COMPUTE occasion = wave + 11.
VARIABLE LABELS
copymonitor18 "copymonitor18: Monitoring at Age 18 (copy)"
wave "wave: Wave of Study (1-7)"
occasion "occasion: Occasion of Measurement (12-18)"
age "age: Exact Age at Occasion"
risky "risky: Risky Behavior at Occasion"
monitor "monitor: Monitoring at Occasion".
EXECUTE.
DATASET ACTIVATE Chapter9.
COMPUTE agec18 = age - 18.
COMPUTE att4 = attitude12 - 4.
COMPUTE mon3 = monitor - 3.
COMPUTE PMmon3 = PMmonitor - 3.
COMPUTE WPmon = monitor - PMmonitor.
COMPUTE Age18mon3 = copymonitor18 - 3.
COMPUTE Change18mon = monitor - copymonitor18.
VARIABLE LABELS
agec18 "agec18: Exact Age (0=18)"
att4 "att4: Age 12 Attitudes (0=4)"
mon3 "mon3: Monitoring (0=3)"
PMmon3 "PMmon3: Person Mean Monitoring (0=3)"
WPmon "WPmon: Within-Person Monitoring (0=PM)"
Age18mon3 "Age18mon3: BP Monitoring at Age 18 (0=3)"
Change18mon "Change18mon: WP Monitoring from Age 18 (0=Age18)".
EXECUTE.
SELECT IF NVALID(agec18, att4, risky, PMmonitor, Age18mon3, monitor)=6.
EXECUTE.
DATASET ACTIVATE Chapter9.
ECHO "Chapter 9: Descriptive Statistics for Time-Varying Variables".
SUMMARIZE
/TABLES = age risky monitor WPmon Change18mon
/FORMAT = NOLIST TOTAL
/CELLS = COUNT MEAN STDDEV MIN MAX.
CORRELATIONS VARIABLES= PMmon3 Age18mon3 WPmon Change18mon.
DATASET ACTIVATE Chapter9 WINDOW=FRONT.
ECHO 'Ch 9: Empty Means, Random Intercept Model for Monitoring'.
MIXED monitor BY PersonID
/METHOD = ML
/PRINT = SOLUTION TESTCOV
/FIXED =
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(PersonID)
.
DATASET ACTIVATE Chapter9 WINDOW=FRONT.
ECHO 'Ch 9: Fixed Linear Age, Random Intercept Model for Monitoring'.
MIXED monitor BY PersonID WITH agec18
/METHOD = ML
/PRINT = SOLUTION TESTCOV
/FIXED = agec18
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(PersonID)
.
DATASET ACTIVATE Chapter9 WINDOW=FRONT.
ECHO 'Ch 9: Random Linear Age Model for Monitoring'.
MIXED monitor BY PersonID WITH agec18
/METHOD = ML
/PRINT = SOLUTION TESTCOV
/FIXED = agec18
/RANDOM = INTERCEPT agec18 | COVTYPE(UN) SUBJECT(PersonID)
.
DATASET ACTIVATE Chapter9 WINDOW=FRONT.
ECHO 'Ch 9: Fixed Quadratic, Random Linear Age Model for Monitoring'.
MIXED monitor BY PersonID WITH agec18
/METHOD = ML
/PRINT = SOLUTION TESTCOV
/FIXED = agec18 agec18*agec18
/RANDOM = INTERCEPT agec18 | COVTYPE(UN) SUBJECT(PersonID)
.
DATASET ACTIVATE Chapter9 WINDOW=FRONT.
ECHO 'Ch 9: Random Quadratic Age Model for Monitoring'.
MIXED monitor BY PersonID WITH agec18
/METHOD = ML
/PRINT = SOLUTION TESTCOV
/FIXED = agec18 agec18*agec18
/RANDOM = INTERCEPT agec18 agec18*agec18 | COVTYPE(UN) SUBJECT(PersonID)
.
DATASET ACTIVATE Chapter9 WINDOW=FRONT.
ECHO 'Ch 9: Fixed Quadratic, Random Linear Age Model for Risky Behavior;'.
ECHO 'Conditional Baseline with Attitudes Predicting Linear Age Slope'.
MIXED risky BY PersonID WITH agec18 att4
/METHOD = ML
/PRINT = SOLUTION TESTCOV
/FIXED = agec18 agec18*agec18
att4 agec18*att4
/RANDOM = INTERCEPT agec18 | COVTYPE(UN) SUBJECT(PersonID)
.
DATASET ACTIVATE Chapter9 WINDOW=FRONT.
ECHO 'Eq 9.1: Predicting Quadratic Change in Risky Behavior;'.
ECHO 'From Person Mean Monitoring as Between-Person Monitoring'.
MIXED risky BY PersonID WITH agec18 att4 PMmon3
/METHOD = ML
/PRINT = SOLUTION TESTCOV
/FIXED = agec18 agec18*agec18 att4 agec18*att4
PMmon3 agec18*PMmon3 agec18*agec18*PMmon3
/RANDOM = INTERCEPT agec18 | COVTYPE(UN) SUBJECT(PersonID)
/TEST = 'Effect of PM Monitoring at Age 12' PMmon3 1 agec18*PMmon3 -6 agec18*agec18*PMmon3 36
/TEST = 'Effect of PM Monitoring at Age 14' PMmon3 1 agec18*PMmon3 -4 agec18*agec18*PMmon3 16
/TEST = 'Effect of PM Monitoring at Age 16' PMmon3 1 agec18*PMmon3 -2 agec18*agec18*PMmon3 4
/TEST = 'Effect of PM Monitoring at Age 18' PMmon3 1 agec18*PMmon3 0 agec18*agec18*PMmon3 0
/SAVE = FIXPRED(PredPMBP)
.
CORRELATIONS risky PredPMBP.
DATASET ACTIVATE Chapter9 WINDOW=FRONT.
ECHO 'Eq 9.1: Predicting Quadratic Change in Risky Behavior;'.
ECHO 'From Monitoring at Age 18 as Between-Person Monitoring'.
MIXED risky BY PersonID WITH agec18 att4 Age18mon3
/METHOD = ML
/PRINT = SOLUTION TESTCOV
/FIXED = agec18 agec18*agec18 att4 agec18*att4
Age18mon3 agec18*Age18mon3 agec18*agec18*Age18mon3
/RANDOM = INTERCEPT agec18 | COVTYPE(UN) SUBJECT(PersonID)
/TEST = 'Effect of Age 18 Monitoring at Age 12' Age18mon3 1 agec18*Age18mon3 -6 agec18*agec18*Age18mon3 36
/TEST = 'Effect of Age 18 Monitoring at Age 14' Age18mon3 1 agec18*Age18mon3 -4 agec18*agec18*Age18mon3 16
/TEST = 'Effect of Age 18 Monitoring at Age 16' Age18mon3 1 agec18*Age18mon3 -2 agec18*agec18*Age18mon3 4
/TEST = 'Effect of Age 18 Monitoring at Age 18' Age18mon3 1 agec18*Age18mon3 0 agec18*agec18*Age18mon3 0
/SAVE = FIXPRED(Pred18BP)
.
CORRELATIONS risky Pred18BP.
DATASET ACTIVATE Chapter9 WINDOW=FRONT.
ECHO 'Eq 9.2: Adding Within-Person Monitoring by Quadratic Age;'.
ECHO 'Using Deviation from Person Mean Monitoring as Within-Person Monitoring'.
MIXED risky BY PersonID WITH agec18 att4 PMmon3 WPmon
/METHOD = ML
/PRINT = SOLUTION TESTCOV
/FIXED = agec18 agec18*agec18 att4 agec18*att4
PMmon3 agec18*PMmon3 agec18*agec18*PMmon3
WPmon agec18*WPmon agec18*agec18*WPmon
/RANDOM = INTERCEPT agec18 | COVTYPE(UN) SUBJECT(PersonID)
/TEST = 'Effect of PM Monitoring at Age 12' PMmon3 1 agec18*PMmon3 -6 agec18*agec18*PMmon3 36
/TEST = 'Effect of PM Monitoring at Age 14' PMmon3 1 agec18*PMmon3 -4 agec18*agec18*PMmon3 16
/TEST = 'Effect of PM Monitoring at Age 16' PMmon3 1 agec18*PMmon3 -2 agec18*agec18*PMmon3 4
/TEST = 'Effect of PM Monitoring at Age 18' PMmon3 1 agec18*PMmon3 0 agec18*agec18*PMmon3 0
/TEST = 'Effect of WP Monitoring at Age 12' WPmon 1 agec18*WPmon -6 agec18*agec18*WPmon 36
/TEST = 'Effect of WP Monitoring at Age 14' WPmon 1 agec18*WPmon -4 agec18*agec18*WPmon 16
/TEST = 'Effect of WP Monitoring at Age 16' WPmon 1 agec18*WPmon -2 agec18*agec18*WPmon 4
/TEST = 'Effect of WP Monitoring at Age 18' WPmon 1 agec18*WPmon 0 agec18*agec18*WPmon 0
/SAVE = FIXPRED(PredPMBPWP)
.
CORRELATIONS risky PredPMBPWP.
DATASET ACTIVATE Chapter9 WINDOW=FRONT.
ECHO 'Eq 9.2: Adding Within-Person Monitoring by Quadratic Age;'.
ECHO 'Using Change from Age 18 Monitoring as Within-Person Monitoring'.
MIXED risky BY PersonID WITH agec18 att4 Age18mon3 Change18mon
/METHOD = ML
/PRINT = SOLUTION TESTCOV
/FIXED = agec18 agec18*agec18 att4 agec18*att4
Age18mon3 agec18*Age18mon3 agec18*agec18*Age18mon3
Change18mon agec18*Change18mon agec18*agec18*Change18mon
/RANDOM = INTERCEPT agec18 | COVTYPE(UN) SUBJECT(PersonID)
/TEST = 'Effect of Age 18 Monitoring at Age 12' Age18mon3 1 agec18*Age18mon3 -6 agec18*agec18*Age18mon3 36
/TEST = 'Effect of Age 18 Monitoring at Age 14' Age18mon3 1 agec18*Age18mon3 -4 agec18*agec18*Age18mon3 16
/TEST = 'Effect of Age 18 Monitoring at Age 16' Age18mon3 1 agec18*Age18mon3 -2 agec18*agec18*Age18mon3 4
/TEST = 'Effect of Age 18 Monitoring at Age 18' Age18mon3 1 agec18*Age18mon3 0 agec18*agec18*Age18mon3 0
/TEST = 'Effect of Change in Monitoring at Age 12' Change18mon 1 agec18*Change18mon -6 agec18*agec18*Change18mon 36
/TEST = 'Effect of Change in Monitoring at Age 14' Change18mon 1 agec18*Change18mon -4 agec18*agec18*Change18mon 16
/TEST = 'Effect of Change in Monitoring at Age 16' Change18mon 1 agec18*Change18mon -2 agec18*agec18*Change18mon 4
/TEST = 'Effect of Change in Monitoring at Age 18' Change18mon 1 agec18*Change18mon 0 agec18*agec18*Change18mon 0
/SAVE = FIXPRED(Pred18BPWP)
.
CORRELATIONS risky Pred18BPWP.
DATASET ACTIVATE Chapter9.
DATASET COPY Chapter9doublestacked.
DATASET ACTIVATE Chapter9doublestacked.
VARSTOCASES
/MAKE outcome FROM risky monitor
/INDEX = DV (2)
/KEEP = ALL.
VALUE LABELS DV 1 "1risky" 2 "2monitor".
DOIF (DV=1).
COMPUTE dvR=1.
COMPUTE dvM=0.
END IF.
DOIF (DV=2).
COMPUTE dvR=0.
COMPUTE dvM=1.
END IF.
VARIABLE LABELS
DV "DV: Categorical indicator for which DV the row is for"
dvR "dvR: Intercept 1=risky, 0=monitor"
dvM "dvM: Intercept 0=risky, 1=monitor"
outcome "outcome: Combined outcome variable column".
EXECUTE.
DATASET ACTIVATE Chapter9doublestacked WINDOW=FRONT.
ECHO 'Ch 9 Eq 9.3: Multivariate Model of Risky Behavior and Monitoring;'.
ECHO 'Tricking Univariate Software'.
MIXED outcome BY PersonID occasion DV WITH agec18 att4 dvR dvM
/METHOD = ML
/PRINT = SOLUTION TESTCOV G R
/FIXED = dvR dvM dvR*agec18 dvM*agec18 dvR*agec18*agec18
dvR*att4 dvR*agec18*att4 | NOINT
/RANDOM = dvR dvM dvR*agec18 dvM*agec18 | COVTYPE(UN) SUBJECT(PersonID)
/REPEATED = DV | COVTYPE(UN) SUBJECT(PersonID*occasion)
.
OUTPUT EXPORT NAME=SPSS_Chapter9_Output
/CONTENTS EXPORT=VISIBLE LAYERS=VISIBLE MODELVIEWS=VISIBLE
/HTML DOCUMENTFILE='C:\Dropbox\PilesOfVariance\Chapter9\SPSS\SPSS_Chapter9_Output.html'
IMAGEFORMAT=PNG STYLING=YES.