SET PRINTBACK=NONE HEADER=NO.
FILE HANDLE filesave /NAME = "C:\Dropbox\PilesOfVariance\Chapter11b\SPSS".
GET FILE = "filesave/SPSS_Chapter11b.sav".
DATASET NAME Chapter11bmultiv WINDOW=FRONT.
COMPUTE SMaggression = MEAN(aggression_year0, aggression_year1, aggression_year2).
VARIABLE LABELS
SMaggression "SMaggression: Student Mean Aggression".
EXECUTE.
SORT CASES BY ClassID_year0.
AGGREGATE
/OUTFILE=* MODE=ADDVARIABLES
/PRESORTED
/BREAK = ClassID_year0
/CMgirl_year0 = MEAN(girl)
/CMaggression_year0 = MEAN(aggression_year0).
VARIABLE LABELS
CMgirl_year0 "CMgirl_year0: % Girls in Class at Year 0"
CMaggression_year0 "CMaggression_year0: Class Mean Aggression at Year 0".
SORT CASES BY ClassID_year1.
AGGREGATE
/OUTFILE=* MODE=ADDVARIABLES
/PRESORTED
/BREAK = ClassID_year1
/CMgirl_year1 = MEAN(girl)
/CMaggression_year1 = MEAN(aggression_year1).
VARIABLE LABELS
CMgirl_year1 "CMgirl_year1: % Girls in Class at Year 1"
CMaggression_year1 "CMaggression_year1: Class Mean Aggression at Year 1".
SORT CASES BY ClassID_year2.
AGGREGATE
/OUTFILE=* MODE=ADDVARIABLES
/PRESORTED
/BREAK = ClassID_year2
/CMgirl_year2 = MEAN(girl)
/CMaggression_year2 = MEAN(aggression_year2).
VARIABLE LABELS
CMgirl_year2 "CMgirl_year2: % Girls in Class at Year 2"
CMaggression_year2 "CMaggression_year2: Class Mean Aggression at Year 2".
EXECUTE.
DATASET ACTIVATE Chapter11bmultiv.
SORT CASES BY StudentID.
COMPUTE copyClassID_year0 = ClassID_year0.
COMPUTE copyClassID_year1 = ClassID_year1.
COMPUTE copyClassID_year2 = ClassID_year2.
EXECUTE.
DATASET COPY Chapter11b.
DATASET ACTIVATE Chapter11b.
VARSTOCASES
/MAKE ClassID FROM copyClassID_year0 copyClassID_year1 copyClassID_year2
/MAKE grade FROM grade_year0 grade_year1 grade_year2
/MAKE effort FROM effort_year0 effort_year1 effort_year2
/MAKE aggression FROM aggression_year0 aggression_year1 aggression_year2
/MAKE CMgirl FROM CMgirl_year0 CMgirl_year1 CMgirl_year2
/MAKE CMaggression FROM CMaggression_year0 CMaggression_year1 CMaggression_year2
/INDEX = wave (3)
/KEEP = ALL.
DATASET NAME Chapter11b WINDOW=FRONT.
COMPUTE year = wave-1.
VARIABLE LABELS
wave "wave: Wave of Study (1-3)"
year "year: Year of Study (0-2)"
ClassID "ClassID: Class ID Variable"
grade "grade: Class Grade"
effort "effort: Teacher-Perceived Student Effort"
aggression "aggression: Teacher-Perceived Student Aggression"
CMgirl "CMgirl: Class Proportion of Girls"
CMaggression "CMaggression: Class Mean Student Aggression".
EXECUTE.
DATASET NAME Chapter11b WINDOW=FRONT.
DOIF (year=0).
COMPUTE aclass0=1.
COMPUTE aclass1=0.
COMPUTE aclass2=0.
COMPUTE tclass0=1.
COMPUTE tclass1=0.
COMPUTE tclass2=0.
END IF.
DOIF (year=1).
COMPUTE aclass0=0.
COMPUTE aclass1=1.
COMPUTE aclass2=0.
COMPUTE tclass0=1.
COMPUTE tclass1=1.
COMPUTE tclass2=0.
END IF.
DOIF (year=2).
COMPUTE aclass0=0.
COMPUTE aclass1=0.
COMPUTE aclass2=1.
COMPUTE tclass0=1.
COMPUTE tclass1=1.
COMPUTE tclass2=1.
END IF.
VARIABLE LABELS
aclass0 "aclass0: Acute Class Effect at Year 0"
aclass1 "aclass1: Acute Class Effect at Year 1"
aclass2 "aclass2: Acute Class Effect at Year 2"
tclass0 "tclass0: Transfer Class Effect at Year 0"
tclass1 "tclass1: Transfer Class Effect at Year 1"
tclass2 "tclass2: Transfer Class Effect at Year 2".
DOIF NVALID(ClassID_year0)=0.
COMPUTE ClassID_year0=-99.
COMPUTE aclass0=0.
COMPUTE tclass0=0.
END IF.
DOIF NVALID(ClassID_year1)=0.
COMPUTE ClassID_year1=-99.
COMPUTE aclass1=0.
COMPUTE tclass1=0.
END IF.
DOIF NVALID(ClassID_year2)=0.
COMPUTE ClassID_year2=-99.
COMPUTE aclass2=0.
COMPUTE tclass2=0.
END IF.
IF NVALID(ClassID)=0 ClassID=-99.
COMPUTE CMgirl50 = CMgirl - .50.
COMPUTE CMagg2 = CMaggression - 2.
COMPUTE SMagg2 = SMaggression - 2.
COMPUTE agg2 = aggression - 2.
DOIF (year=0).
COMPUTE year01=-1.
COMPUTE year12=0.
END IF.
DOIF (year=1).
COMPUTE year01=0.
COMPUTE year12=0.
END IF.
DOIF (year=2).
COMPUTE year01=0.
COMPUTE year12=1.
END IF.
VARIABLE LABELS
CMgirl50 "CMgirl50: Class Proportion of Girls (0=.50)"
CMagg2 "CMagg2: Class Mean Student Aggression (0=2)"
SMagg2 "SMagg2: Student Mean Aggression (0=2)"
agg2 "agg2: Student Aggression (0=2)"
year01 "year01: Change from Year 1 to 0"
year12 "year12: Change from Year 1 to 2".
SELECT IF NVALID(year, grade, girl, CMgirl, aggression, CMaggression, effort)=7.
EXECUTE.
OUTPUT NAME SPSS_Chapter11b_Output.
DATASET ACTIVATE Chapter11bmultiv.
ECHO "Chapter 11b: Descriptive Statistics for Student and Year-Specific Class Variables".
FREQUENCIES VARIABLES = girl.
CROSSTABS TABLES = ClassID_year0 BY grade_year0.
CROSSTABS TABLES = ClassID_year1 BY grade_year1.
CROSSTABS TABLES = ClassID_year2 BY grade_year2.
DATASET ACTIVATE Chapter11b.
ECHO "Chapter 11b: Descriptive Statistics for Level-1 Time-Varying Variables".
SUMMARIZE
/TABLES = CMgirl effort aggression
/FORMAT = NOLIST TOTAL
/CELLS = COUNT MEAN STDDEV VAR MIN MAX.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Ch 11b: Empty Means, Two-Level Model of Years Within Students;'.
ECHO 'Predicting Teacher-Perceived Student Effort'.
MIXED effort BY StudentID
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED =
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Ch 11b: Saturated Means, Unstructured Variance Model;'.
ECHO 'Predicting Student Effort'.
MIXED effort BY StudentID year
/METHOD = REML
/PRINT = SOLUTION TESTCOV R
/FIXED = year
/REPEATED = year | SUBJECT(StudentID) COVTYPE(UN)
/EMMEANS = TABLES(year) COMPARE(year)
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Ch 11b: Piecewise Means, Random Intercept Model;'.
ECHO 'Predicting Student Effort'.
MIXED effort BY StudentID WITH year01 year12
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = year01 year12
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Eq 11b.13: Adding Fixed Effects of Year-Specific Class;'.
ECHO 'Predicting Student Effort'.
MIXED effort BY StudentID ClassID_year0 ClassID_year1 ClassID_year2 WITH year01 year12 aclass0 aclass1 aclass2
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = year01 year12
ClassID_year0*aclass0 ClassID_year1*aclass1 ClassID_year2*aclass2
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Eq 11b.14: Adding Random Acute Year-Specific Class Effects;'.
ECHO 'Predicting Student Effort'.
MIXED effort BY StudentID ClassID_year0 ClassID_year1 ClassID_year2 WITH year01 year12 aclass0 aclass1 aclass2
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = year01 year12
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
/RANDOM = aclass0 | COVTYPE(UN) SUBJECT(ClassID_year0)
/RANDOM = aclass1 | COVTYPE(UN) SUBJECT(ClassID_year1)
/RANDOM = aclass2 | COVTYPE(UN) SUBJECT(ClassID_year2)
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Ch 11b: Adding Random Transfer Class Effects Instead;'.
ECHO 'Predicting Student Effort'.
MIXED effort BY StudentID ClassID_year0 ClassID_year1 ClassID_year2 WITH year01 year12 tclass0 tclass1 tclass2
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = year01 year12
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
/RANDOM = tclass0 | COVTYPE(UN) SUBJECT(ClassID_year0)
/RANDOM = tclass1 | COVTYPE(UN) SUBJECT(ClassID_year1)
/RANDOM = tclass2 | COVTYPE(UN) SUBJECT(ClassID_year2)
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Eq 11b.15: Adding Year-Specific Effects of Class Grade;'.
ECHO 'Predicting Student Effort'.
MIXED effort BY StudentID ClassID_year0 ClassID_year1 ClassID_year2 grade WITH year01 year12 aclass0 aclass1 aclass2
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = year01 year12
grade*aclass0 grade*aclass1 grade*aclass2
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
/RANDOM = aclass0 | COVTYPE(UN) SUBJECT(ClassID_year0)
/RANDOM = aclass1 | COVTYPE(UN) SUBJECT(ClassID_year1)
/RANDOM = aclass2 | COVTYPE(UN) SUBJECT(ClassID_year2)
/TEST = 'Grade 3 vs 4 at Year 0' grade*aclass0 -1 1 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 3 vs 5 at Year 0' grade*aclass0 -1 0 1 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 4 vs 5 at Year 0' grade*aclass0 0 -1 1 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 4 vs 5 at Year 1' grade*aclass0 0 0 0 0 0 grade*aclass1 0 -1 1 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 4 vs 6 at Year 1' grade*aclass0 0 0 0 0 0 grade*aclass1 0 -1 0 1 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 5 vs 6 at Year 1' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 -1 1 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 5 vs 6 at Year 2' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 -1 1 0
/TEST = 'Grade 5 vs 7 at Year 2' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 -1 0 1
/TEST = 'Grade 6 vs 7 at Year 2' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 -1 1
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Eq 11b.16: Adding Student Gender and Year-Specific Class Contextual Gender Effects;'.
ECHO 'Predicting Student Effort'.
MIXED effort BY StudentID ClassID_year0 ClassID_year1 ClassID_year2 grade WITH year01 year12 aclass0 aclass1 aclass2 girl CMgirl50
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = year01 year12
grade*aclass0 grade*aclass1 grade*aclass2
girl CMgirl50*aclass0 CMgirl50*aclass1 CMgirl50*aclass2
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
/RANDOM = aclass0 | COVTYPE(UN) SUBJECT(ClassID_year0)
/RANDOM = aclass1 | COVTYPE(UN) SUBJECT(ClassID_year1)
/RANDOM = aclass2 | COVTYPE(UN) SUBJECT(ClassID_year2)
/TEST = 'Multivariate Test of Year-Specific Class Contextual Gender Effects' CMgirl50*aclass0 1; CMgirl50*aclass1 1; CMgirl50*aclass2 1
/TEST = 'Grade 3 vs 4 at Year 0' grade*aclass0 -1 1 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 3 vs 5 at Year 0' grade*aclass0 -1 0 1 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 4 vs 5 at Year 0' grade*aclass0 0 -1 1 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 4 vs 5 at Year 1' grade*aclass0 0 0 0 0 0 grade*aclass1 0 -1 1 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 4 vs 6 at Year 1' grade*aclass0 0 0 0 0 0 grade*aclass1 0 -1 0 1 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 5 vs 6 at Year 1' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 -1 1 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 5 vs 6 at Year 2' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 -1 1 0
/TEST = 'Grade 5 vs 7 at Year 2' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 -1 0 1
/TEST = 'Grade 6 vs 7 at Year 2' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 -1 1
/TEST = 'Between-Class Gender Effect at Year 0' girl 1 CMgirl50*aclass0 1
/TEST = 'Between-Class Gender Effect at Year 1' girl 1 CMgirl50*aclass1 1
/TEST = 'Between-Class Gender Effect at Year 2' girl 1 CMgirl50*aclass2 1
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Ch 11b: Empty Means, Two-Level Model of Years Within Students;'.
ECHO 'Predicting Teacher-Perceived Student Aggression'.
MIXED aggression BY StudentID
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED =
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Ch 11b: Saturated Means, Unstructured Variance Model;'.
ECHO 'Predicting Student Aggression'.
MIXED aggression BY StudentID year
/METHOD = REML
/PRINT = SOLUTION TESTCOV R
/FIXED = year
/REPEATED = year | SUBJECT(StudentID) COVTYPE(UN)
/EMMEANS = TABLES(year) COMPARE(year)
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Ch 11b: Piecewise Means, Random Intercept Model;'.
ECHO 'Predicting Student Aggression'.
MIXED aggression BY StudentID WITH year01 year12
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = year01 year12
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Ch 11b: Adding Random Acute Year-Specific Class Effects;'.
ECHO 'Predicting Student Aggression'.
MIXED aggression BY StudentID ClassID_year0 ClassID_year1 ClassID_year2 WITH year01 year12 aclass0 aclass1 aclass2
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = year01 year12
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
/RANDOM = aclass0 | COVTYPE(UN) SUBJECT(ClassID_year0)
/RANDOM = aclass1 | COVTYPE(UN) SUBJECT(ClassID_year1)
/RANDOM = aclass2 | COVTYPE(UN) SUBJECT(ClassID_year2)
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Ch 11b: Adding Random Transfer Class Effects Instead;'.
ECHO 'Predicting Student Aggression'.
MIXED aggression BY StudentID ClassID_year0 ClassID_year1 ClassID_year2 WITH year01 year12 tclass0 tclass1 tclass2
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = year01 year12
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
/RANDOM = tclass0 | COVTYPE(UN) SUBJECT(ClassID_year0)
/RANDOM = tclass1 | COVTYPE(UN) SUBJECT(ClassID_year1)
/RANDOM = tclass2 | COVTYPE(UN) SUBJECT(ClassID_year2)
.
DATASET ACTIVATE Chapter11b WINDOW=FRONT.
ECHO 'Ch 11b: Adding Time-Varying, Student Mean, and Year-Specific Class Contextual Effects of Student Aggression;'.
ECHO 'Predicting Student Effort'.
MIXED effort BY StudentID ClassID_year0 ClassID_year1 ClassID_year2 grade WITH year01 year12 aclass0 aclass1 aclass2 girl CMgirl50 agg2 SMagg2 CMagg2
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = year01 year12
grade*aclass0 grade*aclass1 grade*aclass2
girl CMgirl50*aclass0 CMgirl50*aclass1 CMgirl50*aclass2
agg2 SMagg2 CMagg2*aclass0 CMagg2*aclass1 CMagg2*aclass2
/RANDOM = INTERCEPT | COVTYPE(UN) SUBJECT(StudentID)
/RANDOM = aclass0 | COVTYPE(UN) SUBJECT(ClassID_year0)
/RANDOM = aclass1 | COVTYPE(UN) SUBJECT(ClassID_year1)
/RANDOM = aclass2 | COVTYPE(UN) SUBJECT(ClassID_year2)
/TEST = 'Multivariate Test of Year-Specific Class Contextual Aggression Effects' CMagg2*aclass0 1; CMagg2*aclass1 1; CMagg2*aclass2 1
/TEST = 'Grade 3 vs 4 at Year 0' grade*aclass0 -1 1 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 3 vs 5 at Year 0' grade*aclass0 -1 0 1 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 4 vs 5 at Year 0' grade*aclass0 0 -1 1 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 4 vs 5 at Year 1' grade*aclass0 0 0 0 0 0 grade*aclass1 0 -1 1 0 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 4 vs 6 at Year 1' grade*aclass0 0 0 0 0 0 grade*aclass1 0 -1 0 1 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 5 vs 6 at Year 1' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 -1 1 0 grade*aclass2 0 0 0 0 0
/TEST = 'Grade 5 vs 6 at Year 2' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 -1 1 0
/TEST = 'Grade 5 vs 7 at Year 2' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 -1 0 1
/TEST = 'Grade 6 vs 7 at Year 2' grade*aclass0 0 0 0 0 0 grade*aclass1 0 0 0 0 0 grade*aclass2 0 0 0 -1 1
/TEST = 'Between-Class Gender Effect at Year 0' girl 1 CMgirl50*aclass0 1
/TEST = 'Between-Class Gender Effect at Year 1' girl 1 CMgirl50*aclass1 1
/TEST = 'Between-Class Gender Effect at Year 2' girl 1 CMgirl50*aclass2 1
/TEST = 'Between-Class Aggression Effect at Year 0' agg2 1 SMagg2 1 CMagg2*aclass0 1
/TEST = 'Between-Class Aggression Effect at Year 1' agg2 1 SMagg2 1 CMagg2*aclass1 1
/TEST = 'Between-Class Aggression Effect at Year 2' agg2 1 SMagg2 1 CMagg2*aclass2 1
/TEST = 'Between-Student Aggression Effect' agg2 1 SMagg2 1
/SAVE = FIXPRED(PredFinalE)
.
CORRELATIONS effort PredFinalE.
OUTPUT EXPORT NAME=SPSS_Chapter11b_Output
/CONTENTS EXPORT=VISIBLE LAYERS=VISIBLE MODELVIEWS=VISIBLE
/HTML DOCUMENTFILE='C:\Dropbox\PilesOfVariance\Chapter11b\SPSS\SPSS_Chapter11b_Output.html'
IMAGEFORMAT=PNG STYLING=YES.