* Stop syntax and large titles from printing to output.
SET PRINTBACK=NONE HEADER=NO.

***********************************************************************************.
*******       BEGIN DATA MANIPULATION OF CHAPTER 11a THREE-LEVEL EXAMPLE    *******.
*******               CHANGE "filesave" to your directory                   *******.
***********************************************************************************.

* Define location of files used in code below.
FILE HANDLE filesave /NAME = "C:\Dropbox\PilesOfVariance\Chapter11a\SPSS".

* Import chapter 11a multivariate data. 
GET FILE = "filesave/SPSS_Chapter11a.sav".
DATASET NAME Chapter11amultiv WINDOW=FRONT.
* Also make student mean variables.
COMPUTE SMclose  = MEAN(close_wave1,  close_wave2,  close_wave3).
COMPUTE SMvictim = MEAN(victim_wave1, victim_wave2, victim_wave3).
VARIABLE LABELS
SMclose  "SMclose: Student Mean Closeness"
SMvictim "SMvictim: Student Mean Victimization".
EXECUTE.

* Get class means for student and per-wave variables (keeping level-3 variables).
SORT CASES BY ClassID StudentID.
DATASET DECLARE ClassMeans11a.
AGGREGATE
   /OUTFILE="ClassMeans11a"
   /PRESORTED
   /BREAK = ClassID classsize grade
   /CMclose = MEAN(SMclose)
   /CMvictim = MEAN(SMvictim)
   /CMgirl = MEAN(girl)
   /CMemosup_wave1 = MEAN(emosup_wave1)
   /CMemosup_wave2 = MEAN(emosup_wave2)
   /CMemosup_wave3 = MEAN(emosup_wave3).

* Make class mean emosup and add labels.
DATASET ACTIVATE ClassMeans11a.
COMPUTE CMemosup = MEAN(CMemosup_wave1, CMemosup_wave2, CMemosup_wave3).
VARIABLE LABELS
CMemosup "CMemosup: Class Mean Emotional Support"
CMclose "CMclose: Class Mean Student-Teacher Closeness"
CMvictim "CMvictim3: Class Mean Student-Perceived Victimization"
CMgirl "CMgirl: Percentage Girls in Class".
* Create level-3 variables for analysis.
COMPUTE size23 = classsize - 23.
IF (grade=3) grade35=0.
IF (grade=5) grade35=1.
COMPUTE CMgirl50 = CMgirl - .50.
COMPUTE CMemosup5 = CMemosup - 5.
COMPUTE CMvictim3 = CMvictim - 3.
VARIABLE LABELS
size23 "size23: # Students in Class (0=23)"
grade35 "grade35: Grade 3=0, Grade5=1"
CMgirl50 "CMgirl50: Percentage Girls in Class (0=.50)"
CMemosup5 "CMemosup5: Class Mean Emotional Support (0=5)"
CMvictim3 "CMvictim3: Class Mean Student-Perceived Victimization (0=3)".
EXECUTE.

* Merge person means back into original data.
DATASET ACTIVATE Chapter11amultiv.
MATCH FILES
   /FILE = *
   /TABLE = "ClassMeans11a"
   /BY ClassID classsize grade
   /DROP = emosup_wave1 emosup_wave2 emosup_wave3.
* Create level-2 variables for analysis.
DATASET ACTIVATE Chapter11amultiv.
COMPUTE WCclose = SMclose - CMclose.
COMPUTE SMvictim3 = SMvictim - 3.
COMPUTE WCvictim = SMvictim - CMvictim.
VARIABLE LABELS
WCclose "WCclose: Within-Class Student-Teacher Closeness (0=CM)"
SMvictim3 "SMvictim3: Student Mean Student-Perceived Victimization (0=3)"
WCvictim "WCvictim: Within-Class Student-Perceived Victimization (0=CM)".
EXECUTE.

* Stack multivariate data by wave.
DATASET ACTIVATE Chapter11amultiv.
DATASET COPY Chapter11a.
DATASET ACTIVATE Chapter11a.
VARSTOCASES
   /MAKE emosup FROM CMemosup_wave1 CMemosup_wave2 CMemosup_wave3
   /MAKE victim FROM victim_wave1 victim_wave2 victim_wave3
   /MAKE close FROM close_wave1 close_wave2 close_wave3
   /INDEX = wave (3)
   /KEEP = ALL.
DATASET NAME Chapter11a WINDOW=FRONT.
VARIABLE LABELS
wave "wave: Wave of Study (1-3)"
emosup "emosup: Time-Varying Class Emotional Support"
victim "victim: Time-Varying Student-Perceived Victimization"
close "close: Time-Varying Student-Teacher Closeness".
EXECUTE.

* Sort data by level and create level-1 variables for analysis.
DATASET ACTIVATE Chapter11a.
SORT CASES BY ClassID StudentID wave.
COMPUTE time1 = wave - 1.
COMPUTE time2 = wave - 2.
IF (wave<3) w3=0.
IF (wave=3) w3=1.
COMPUTE WSclose = close - SMclose.
COMPUTE victim3 = victim - 3.
COMPUTE WSvictim = victim - SMvictim.
COMPUTE emosup5 = emosup - 5.
COMPUTE WCemosup = emosup - CMemosup.
VARIABLE LABELS
time1 "time1: Time in Study (0=Wave1)"
time2 "time2: Time in Study (0=Wave2)"
w3 "w3: Is Wave3 (0=no, 1=yes)"
WSclose "WSclose: Within-Student Student-Teacher Closeness (0=SM)"
victim3 "victim3: Time-Varying Student-Perceived Victimization (0=3)"
WSvictim "WSvictim: Within-Student Student-Perceived Victimization (0=SM)"
emosup5 "emosup5: Time-Varying Class Emotional Support (0=5)"
WCemosup "WCemosup: Within-Class Emotional Support (0=CM)".
* Subset sample to complete cases for all predictors.
SELECT IF NVALID(wave, victim, emosup, girl, classsize, close)=6.
EXECUTE.

* Get class by wave dataset for later.
DATASET ACTIVATE Chapter11a.
SORT CASES BY ClassID wave.
DATASET DECLARE ClassPerWave11a.
AGGREGATE
   /OUTFILE="ClassPerWave11a"
   /PRESORTED
   /BREAK = ClassID wave
   /emosup = MEAN(emosup)
   /WCemosup = MEAN(WCemosup).
* Add level-1 time.
DATASET ACTIVATE ClassPerWave11a.
COMPUTE time1 = wave - 1.
VARIABLE LABELS time1 "time1: Time in Study (0=Wave1)".
EXECUTE.

***********************************************************************************.
*******     BEGIN CHAPTER 11a TIME-INVARIANT GROUP THREE-LEVEL MODELS       *******.
***********************************************************************************.

* Open output directory.
OUTPUT NAME SPSS_Chapter11a_Output.

DATASET ACTIVATE Chapter11a.
ECHO "Chapter 11a: Descriptive Statistics for Level-1 Time-Varying Student Variables".
SUMMARIZE
   /TABLES = close WSclose victim WSvictim
   /FORMAT = NOLIST TOTAL 
   /CELLS  = COUNT MEAN STDDEV VAR MIN MAX.

DATASET ACTIVATE ClassPerWave11a.
ECHO "Chapter 11a: Descriptive Statistics for Level-1 Time-Varying Class Variables".
SUMMARIZE
   /TABLES = emosup WCemosup
   /FORMAT = NOLIST TOTAL 
   /CELLS  = COUNT MEAN STDDEV VAR MIN MAX.

DATASET ACTIVATE Chapter11amultiv.
ECHO "Chapter 11a: Descriptive Statistics for Level-2 Student Variables".
SUMMARIZE
   /TABLES = SMclose WCclose SMvictim WCvictim girl
   /FORMAT = NOLIST TOTAL 
   /CELLS  = COUNT MEAN STDDEV VAR MIN MAX.

DATASET ACTIVATE ClassMeans11a.
ECHO "Chapter 11a: Descriptive Statistics for Level-3 Class Variables".
SUMMARIZE
   /TABLES = CMclose CMvictim CMemosup CMgirl classsize grade35
   /FORMAT = NOLIST TOTAL 
   /CELLS  = COUNT MEAN STDDEV VAR MIN MAX.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Empty Means, Two-Level Model Predicting Student-Teacher Closeness;'.
ECHO 'Occasions Within Students*Classes'.
MIXED close BY ClassID StudentID
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    =
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Eq 11a.1: Empty Means, Three-Level Model Predicting Student-Teacher Closeness;'.
ECHO 'Level-1 Occasions Within Level-2 Students Within Level-3 Classes'.
MIXED close BY ClassID StudentID
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    =
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Empty Means, Two-Level Model Predicting Student-Perceived Victimization;'.
ECHO 'Occasions Within Students*Classes'.
MIXED victim BY ClassID StudentID
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    =
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Eq 11a.1: Empty Means, Three-Level Model Predicting Student-Perceived Victimization;'.
ECHO 'Level-1 Occasions Within Level-2 Students Within Level-3 Classes'.
MIXED victim BY ClassID StudentID
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    =
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Eq 11a.1: Empty Means, Levels 1 and 3 Model Predicting Class Emotional Support;'.
ECHO 'Level-1 Ocasions Within Level-3 Classes'.
MIXED emosup BY ClassID StudentID
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    =
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID)
.

DATASET ACTIVATE ClassPerWave11a WINDOW=FRONT.
ECHO 'Eq 11a.1: Empty Means, Levels 1 and 3 Model Predicting Class Emotional Support;'.
ECHO 'Level-1 Ocasions Within Level-3 Classes'.
MIXED emosup BY ClassID
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    =
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Eq 11a.3: Saturated Means, Unstructured Level-3 and Level-2 Variances;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID wave
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV G R
     /FIXED    = wave
     /RANDOM   = wave | COVTYPE(UN) SUBJECT(ClassID)
     /REPEATED = wave | COVTYPE(UN) SUBJECT(ClassID*StudentID)
     /EMMEANS  = TABLES(wave) COMPARE(wave)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Piecewise Means, Level-3 and Level-2 Random Intercepts;'.
ECHO 'Three-Level Model Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 w3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 w3
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Piecewise Means, Add Level-2 Random Time Slope;'.
ECHO 'Three-Level Model Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 w3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 w3
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Piecewise Means, Add Level-3 Random Time Slope;'.
ECHO 'Three-Level Model Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 w3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 w3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Eq 11a.4: Unconditional Growth Model Predicting Student Closeness;'.
ECHO 'Random Linear Time Slopes for Level-2 Students and Level-3 Classes'.
MIXED close BY ClassID StudentID WITH time1
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
     /SAVE     = FIXPRED(PredUncC)
.
CORRELATIONS close PredUncC.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Class Grade and Class Size;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 grade35 size23
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 grade35 time1*grade35 size23 time1*size23
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Class Size Only;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 size23
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 size23 time1*size23
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

* Note that models that did not converge are ommitted here; that syntax is shown below.

DATASET ACTIVATE ClassPerWave11a WINDOW=FRONT.
ECHO 'Ch 11a: Saturated Means, Unstructured Model Predicting Class Emotional Support;'.
ECHO 'Using Only Level-1 Ocasions Within Level-3 Classes'.
MIXED emosup BY ClassID wave
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV R
     /FIXED    = wave
     /REPEATED = wave | COVTYPE(UN) SUBJECT(ClassID)
     /EMMEANS  = TABLES(wave) COMPARE(wave)
.

DATASET ACTIVATE ClassPerWave11a WINDOW=FRONT.
ECHO 'Ch 11a: Saturated Means, Random Intercept Model Predicting Class Emotional Support;'.
ECHO 'Using Only Level-1 Ocasions Within Level-3 Classes'.
MIXED emosup BY ClassID wave
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = wave
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Piecewise Means, Level-3 and Level-2 Random Intercepts;'.
ECHO 'Three-Level Model Predicting Student Victimization'.
MIXED victim BY ClassID StudentID WITH time1 w3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 w3
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Piecewise Means, Add Level-2 Random Time Slope;'.
ECHO 'Three-Level Model Predicting Student Victimization'.
MIXED victim BY ClassID StudentID WITH time1 w3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 w3
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Piecewise Means, Add Level-3 Random Time Slope;'.
ECHO 'Three-Level Model Predicting Student Victimization'.
MIXED victim BY ClassID StudentID WITH time1 w3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 w3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Fixed Linear Time, Level-3 and Level-2 Random Intercepts;'.
ECHO 'Three-Level Model Predicting Student Victimization'.
MIXED victim BY ClassID StudentID WITH time1
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

****** END CHAPTER 11a MODELS ******.

* Close output directory.
OUTPUT EXPORT NAME=SPSS_Chapter11a_Output
     /CONTENTS EXPORT=VISIBLE LAYERS=VISIBLE MODELVIEWS=VISIBLE
     /HTML DOCUMENTFILE='C:\Dropbox\PilesOfVariance\Chapter11a\SPSS\SPSS_Chapter11a_Output.html'
           IMAGEFORMAT=PNG STYLING=YES.


******************************************************************************.
* The following models did not converge properly so the results
* (nevertheless still provided by SPSS) are not shown.
* The error message read: .
* "Iteration was terminated but convergence has not been achieved. 
*  The MIXED procedure continues despite this warning. 
*  Subsequent results produced are based on the last iteration. 
*  Validity of the model fit is uncertain.".
******************************************************************************.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Eq 11a.5: Add Student and Class Gender;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 size23 girl CMgirl50
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 size23 time1*size23
                 girl time1*girl CMgirl50 time1*CMgirl50
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
     /TEST     = 'Multivariate Test of Level-2 Within-Class Gender Effects' girl 1; time1*girl 1
     /TEST     = 'Multivariate Test of Level-3 Contextual Class Gender Effects' CMgirl50 1; time1*CMgirl50 1
     /TEST     = 'Contextual Gender Effect at Wave 1'      CMgirl50 1 CMgirl50*time1 0
     /TEST     = 'Contextual Gender Effect at Wave 2'      CMgirl50 1 CMgirl50*time1 1
     /TEST     = 'Contextual Gender Effect at Wave 3'      CMgirl50 1 CMgirl50*time1 2
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Test if Level-3 Random Time Slope Variance is still needed;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 size23 girl CMgirl50
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 size23 time1*size23
                 girl time1*girl CMgirl50 time1*CMgirl50
     /RANDOM   = INTERCEPT | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Random Gender Effect across Classes;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 size23 girl CMgirl50
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 size23 time1*size23
                 girl time1*girl CMgirl50 time1*CMgirl50
     /RANDOM   = INTERCEPT time1 girl | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE ClassPerWave11a WINDOW=FRONT.
ECHO 'Ch 11a: Saturated Means, Random Time Slope Model Predicting Class Emotional Support;'.
ECHO 'Using Only Level-1 Ocasions Within Level-3 Classes'.
MIXED emosup BY ClassID wave WITH time1
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = wave
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Eq 11a.6: Add Time-Varying and Class Emotional Support;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 size23 girl CMgirl50 emosup5 CMemosup5
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 size23 time1*size23
                 girl time1*girl CMgirl50 time1*CMgirl50
                 emosup5 time1*emosup5 CMemosup5 time1*CMemosup5
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
     /TEST     = 'Multivariate Test of Level-1 Within-Class Emotional Support Effects' emosup5 1; time1*emosup5 1
     /TEST     = 'Multivariate Test of Level-3 Contextual Class Emotional Support Effects' CMemosup5 1; time1*CMemosup5 1
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Remove Class Size, Add Random Level-1 Emotional Support across Classes;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 emosup5 CMemosup5
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 emosup5 time1*emosup5 CMemosup5 time1*CMemosup5
     /RANDOM   = INTERCEPT time1 emosup5 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: New Baseline for Pseudo-R2 without Class Size Effects;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Just Level-3 Emotional Support Effects;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
     /TEST     = 'Multivariate Test of Level-3 Between-Class Emotional Support Effects' CMemosup5 1; time1*CMemosup5 1
     /TEST     = 'Between-Class Emotional Support Effect at Wave 1'  CMemosup5 1 CMemosup5*time1 0
     /TEST     = 'Between-Class Emotional Support Effect at Wave 2'  CMemosup5 1 CMemosup5*time1 1
     /TEST     = 'Between-Class Emotional Support Effect at Wave 3'  CMemosup5 1 CMemosup5*time1 2
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Eq 11a.3: Saturated Means, Unstructured Level-3 and Level-2 Variances;'.
ECHO 'for Student Victimization'.
MIXED victim BY ClassID StudentID wave
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV G R
     /FIXED    = wave
     /RANDOM   = wave | COVTYPE(UN) SUBJECT(ClassID)
     /REPEATED = wave | COVTYPE(UN) SUBJECT(ClassID*StudentID)
     /EMMEANS  = TABLES(wave) COMPARE(wave)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add All 3 Main Effects of Student Vicitimization Predicting Student Closeness;'.
ECHO 'Using Variable-Centered Level-1 and Level-2 Victim Predictors'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5
                 WSvictim WCvictim CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
     /TEST     = 'Level-1 Within-Student Victim Effect'              WSvictim 1
     /TEST     = 'Level-2 Within-Class   Victim Effect'              WCvictim 1
     /TEST     = 'Level-3 Between-Class  Victim Effect'              CMvictim3 1
     /TEST     = 'Level-2 Within-Class  Contextual Victim Effect'    WSvictim -1 WCvictim 1
     /TEST     = 'Level-3 Between-Class Contextual Victim Effect'    WCvictim -1 CMvictim3 1
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add All 3 Main Effects of Student Vicitimization Predicting Student Closeness;'.
ECHO 'Using Constant-Centered Level-1 and Level-2 Victim Predictors'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 victim3 SMvictim3 CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5
                 victim3 SMvictim3 CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
     /TEST     = 'Level-1 Within-Student Victim Effect'              victim3 1
     /TEST     = 'Level-2 Within-Class   Victim Effect'              victim3 1 SMvictim3 1
     /TEST     = 'Level-3 Between-Class  Victim Effect'              victim3 1 SMvictim3 1 CMvictim3 1
     /TEST     = 'Level-2 Within-Class  Contextual Victim Effect'    SMvictim3 1
     /TEST     = 'Level-3 Between-Class Contextual Victim Effect'    CMvictim3 1
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Constant-Centered Student Vicitimization Predicting Student Closeness;'.
ECHO 'For Table 11.3: Level-2 and Level-3 Effects, Omitting Level-1 Effect'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 SMvictim3 CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 SMvictim3 CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Constant-Centered Student Vicitimization Predicting Student Closeness;'.
ECHO 'For Table 11.3: Level-1 and Level-3 Effects Only, Omitting Level-2 Effect'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 victim3 CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 victim3 CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Constant-Centered Student Vicitimization Predicting Student Closeness;'.
ECHO 'For Table 11.3: Level-1 and Level-2 Effects, Omitting Level-3 Effect'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 victim3 SMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 victim3 SMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Constant-Centered Student Vicitimization Predicting Student Closeness;'.
ECHO 'For Table 11.3: Level-1 Effect Only, Omitting Level-2 and Level-3 Effects'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 victim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 victim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add All 3 Victim*Time Interactions Predicting Student Closeness;'.
ECHO 'Using Variable-Centered Level-1 and Level-2 Victim Predictors'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5
                 WSvictim WCvictim CMvictim3
                 time1*WSvictim time1*WCvictim time1*CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add All 3 Victim*Time Interactions Predicting Student Closeness;'.
ECHO 'Using Constant-Centered Level-1 and Level-2 Victim Predictors'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 victim3 SMvictim3 CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5
                 victim3 SMvictim3 CMvictim3
                 time1*victim3 time1*SMvictim3 time1*CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Random Within-Class Vicitimization Effect across Classes;'.
ECHO 'Using Variable-Centered Level-1 and Level-2 Victim Predictors'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5
                 WSvictim WCvictim CMvictim3
     /RANDOM   = INTERCEPT time1 WCvictim | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Random Within-Student Vicitimization Effect across Students;'.
ECHO 'Using Variable-Centered Level-1 and Level-2 Victim Predictors'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5
                 WSvictim WCvictim CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Random Within-Student Vicitimization Effect across Classes;'.
ECHO 'Using Variable-Centered Level-1 and Level-2 Victim Predictors'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5
                 WSvictim WCvictim CMvictim3
     /RANDOM   = INTERCEPT time1 WCvictim | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Quadratic Level-3 Effects of Gender;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMgirl50*CMgirl50 time1*CMgirl50*CMgirl50
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Quadratic Level-3 Effects of Emotional Support;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMemosup5*CMemosup5 time1*CMemosup5*CMemosup5
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Quadratic Effect of Victimization at Each Level;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMvictim3*CMvictim3 WCvictim*WCvictim WSvictim*WSvictim
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Two-Way and Three-Way Interactions Among Level-3 Effects;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMgirl50*CMemosup5 CMgirl50*CMvictim3 CMemosup5*CMvictim3
                 time1*CMgirl50*CMemosup5 time1*CMgirl50*CMvictim3 time1*CMemosup5*CMvictim3
                 CMgirl50*CMemosup5*CMvictim3 time1*CMgirl50*CMemosup5*CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Keep Gender*Emotional Support and Emotional Support*Victimization Level-3 Interactions;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMgirl50*CMemosup5 CMemosup5*CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Eq 11a.8: Add Level-2 Interactions (and Contextual Level-3 Interactions);'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMgirl50*CMemosup5 CMemosup5*CMvictim3
                 girl*WCvictim CMgirl50*WCvictim
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Time by Level-2 Interactions (and Contextual Level-3 Interactions);'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMgirl50*CMemosup5 CMemosup5*CMvictim3
                 girl*WCvictim CMgirl50*WCvictim
                 time1*WCvictim time1*girl*WCvictim time1*CMvictim3 time1*CMgirl50*WCvictim
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Level-3 by Student Gender Cross-Level Interactions;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMgirl50*CMemosup5 CMemosup5*CMvictim3
                 girl*WCvictim CMgirl50*WCvictim
                 girl*CMgirl50 girl*CMemosup5 girl*CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Level-3 by Within-Class Victim Cross-Level Interactions;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMgirl50*CMemosup5 CMemosup5*CMvictim3
                 girl*WCvictim CMgirl50*WCvictim
                 WCvictim*CMemosup5 WCvictim*CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Level-3 by Within-Student Victim Cross-Level Interactions;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMgirl50*CMemosup5 CMemosup5*CMvictim3
                 girl*WCvictim CMgirl50*WCvictim
                 WSvictim*CMgirl50 WSvictim*CMemosup5 WSvictim*CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Eq 11a.9: Add Level-2 and Level-3 Victim by Within-Student Victim Cross-Level Interactions;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMgirl50*CMemosup5 CMemosup5*CMvictim3
                 girl*WCvictim CMgirl50*WCvictim
                 WSvictim*WCvictim WSvictim*CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
     /TEST     = 'Contextual Gender Effect at Wave 1'                CMgirl50 1 CMgirl50*time1 0
     /TEST     = 'Contextual Gender Effect at Wave 2'                CMgirl50 1 CMgirl50*time1 1
     /TEST     = 'Contextual Gender Effect at Wave 3'                CMgirl50 1 CMgirl50*time1 2
     /TEST     = 'Between-Class Emotional Support Effect at Wave 1'  CMemosup5 1 CMemosup5*time1 0
     /TEST     = 'Between-Class Emotional Support Effect at Wave 2'  CMemosup5 1 CMemosup5*time1 1
     /TEST     = 'Between-Class Emotional Support Effect at Wave 3'  CMemosup5 1 CMemosup5*time1 2
     /TEST     = 'Level-2 Victim Effect in Girls'                    WCvictim 1 WCvictim*girl 1
     /SAVE     = FIXPRED(FinalC)
.
CORRELATIONS close FinalC.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Ch 11a: Add Level-2 and Level-3 Gender by Within-Student Victim Cross-Level Interactions;'.
ECHO 'Predicting Student Closeness'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = REML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMgirl50*CMemosup5 CMemosup5*CMvictim3
                 girl*WCvictim CMgirl50*WCvictim WSvictim*WCvictim WSvictim*CMvictim3
                 WSvictim*girl WSvictim*CMgirl50
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.

DATASET ACTIVATE Chapter11a WINDOW=FRONT.
ECHO 'Eq 11a.9: Add Level-2 and Level-3 Victim by Within-Student Victim Cross-Level Interactions;'.
ECHO 'Predicting Student Closeness using ML instead of REML'.
MIXED close BY ClassID StudentID WITH time1 girl CMgirl50 CMemosup5 WSvictim WCvictim CMvictim3
     /METHOD   = ML
     /CRITERIA = MXITER(200)
     /PRINT    = SOLUTION TESTCOV
     /FIXED    = time1 girl time1*girl CMgirl50 time1*CMgirl50
                 CMemosup5 time1*CMemosup5 WSvictim WCvictim CMvictim3
                 CMgirl50*CMemosup5 CMemosup5*CMvictim3
                 girl*WCvictim CMgirl50*WCvictim
                 WSvictim*WCvictim WSvictim*CMvictim3
     /RANDOM   = INTERCEPT time1 | COVTYPE(UN) SUBJECT(ClassID)
     /RANDOM   = INTERCEPT time1 WSvictim | COVTYPE(UN) SUBJECT(ClassID*StudentID)
.