1 Data Management

library(WWGbook)
data(classroom)
dta<-classroom
head(dta)
##   sex minority mathkind mathgain   ses yearstea mathknow housepov mathprep
## 1   1        1      448       32  0.46        1       NA    0.082     2.00
## 2   0        1      460      109 -0.27        1       NA    0.082     2.00
## 3   1        1      511       56 -0.03        1       NA    0.082     2.00
## 4   0        1      449       83 -0.38        2    -0.11    0.082     3.25
## 5   0        1      425       53 -0.03        2    -0.11    0.082     3.25
## 6   1        1      450       65  0.76        2    -0.11    0.082     3.25
##   classid schoolid childid
## 1     160        1       1
## 2     160        1       2
## 3     160        1       3
## 4     217        1       4
## 5     217        1       5
## 6     217        1       6
names(dta) <- c("SEX", "MINORITY", "MATHkind", "MATHgain","SES",     "YEARS","MATHknow","HOUSE","MATHprep","CLASS","SCHOOL","CHILD")
dta1<-dta[, c(1,2,3,4,5,10,11,12)]
   head(dta1)
##   SEX MINORITY MATHkind MATHgain   SES CLASS SCHOOL CHILD
## 1   1        1      448       32  0.46   160      1     1
## 2   0        1      460      109 -0.27   160      1     2
## 3   1        1      511       56 -0.03   160      1     3
## 4   0        1      449       83 -0.38   217      1     4
## 5   0        1      425       53 -0.03   217      1     5
## 6   1        1      450       65  0.76   217      1     6
library (nlme)
library(lme4)
## Loading required package: Matrix
## 
## Attaching package: 'lme4'
## The following object is masked from 'package:nlme':
## 
##     lmList

2 M0

#  mathgainijk(j) = b0j + b1k(j) + εijk(j); i student, j school, k class

summary(m0 <-lmer(MATHgain ~ (1|SCHOOL) + (1 |CLASS), data = dta1))
## Linear mixed model fit by REML ['lmerMod']
## Formula: MATHgain ~ (1 | SCHOOL) + (1 | CLASS)
##    Data: dta1
## 
## REML criterion at convergence: 11768.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -4.6441 -0.5984 -0.0336  0.5334  5.6335 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  CLASS    (Intercept)   99.22   9.961  
##  SCHOOL   (Intercept)   77.50   8.804  
##  Residual             1028.23  32.066  
## Number of obs: 1190, groups:  CLASS, 312; SCHOOL, 107
## 
## Fixed effects:
##             Estimate Std. Error t value
## (Intercept)   57.427      1.443   39.79
sjPlot::tab_model(m0, 
          show.intercept = TRUE,
          show.est = TRUE,
          show.se = TRUE,
          show.df = TRUE,
          show.stat = TRUE,
          show.p = TRUE,
          show.aic = TRUE,
          show.aicc = TRUE)
  MATHgain
Predictors Estimates std. Error CI Statistic p df
(Intercept) 57.43 1.44 54.60 – 60.26 39.79 <0.001 1186.00
Random Effects
σ2 1028.23
τ00 CLASS 99.22
τ00 SCHOOL 77.50
ICC 0.15
N SCHOOL 107
N CLASS 312
Observations 1190
Marginal R2 / Conditional R2 0.000 / 0.147
AIC 11776.799

3 M1

# mathgainijk(j) = b0j + b1k(j) + β2 × mathkindijk(j) + β3 × sexijk(j) + β4 × minorityijk(j) + β5 × sesijk(j) + εijk(j)
m1 <- lmer( MATHgain ~ (1|SCHOOL) + (1 |CLASS) + MATHkind + SEX + MINORITY + SES, data=dta1)
summary(m1)
## Linear mixed model fit by REML ['lmerMod']
## Formula: MATHgain ~ (1 | SCHOOL) + (1 | CLASS) + MATHkind + SEX + MINORITY +  
##     SES
##    Data: dta1
## 
## REML criterion at convergence: 11385.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -5.8257 -0.6110 -0.0337  0.5538  4.2678 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  CLASS    (Intercept)  83.28    9.126  
##  SCHOOL   (Intercept)  75.20    8.672  
##  Residual             734.57   27.103  
## Number of obs: 1190, groups:  CLASS, 312; SCHOOL, 107
## 
## Fixed effects:
##              Estimate Std. Error t value
## (Intercept) 282.79033   10.85323  26.056
## MATHkind     -0.46980    0.02227 -21.100
## SEX          -1.25119    1.65773  -0.755
## MINORITY     -8.26213    2.34011  -3.531
## SES           5.34638    1.24109   4.308
## 
## Correlation of Fixed Effects:
##          (Intr) MATHkn SEX    MINORI
## MATHkind -0.978                     
## SEX      -0.044 -0.031              
## MINORITY -0.307  0.163 -0.018       
## SES       0.140 -0.168  0.019  0.163
sjPlot::tab_model(m1, 
          show.intercept = TRUE,
          show.est = TRUE,
          show.se = TRUE,
          show.df = TRUE,
          show.stat = TRUE,
          show.p = TRUE,
          show.aic = TRUE, 
          
          show.aicc = TRUE)
  MATHgain
Predictors Estimates std. Error CI Statistic p df
(Intercept) 282.79 10.85 261.52 – 304.06 26.06 <0.001 1182.00
MATHkind -0.47 0.02 -0.51 – -0.43 -21.10 <0.001 1182.00
SEX -1.25 1.66 -4.50 – 2.00 -0.75 0.450 1182.00
MINORITY -8.26 2.34 -12.85 – -3.68 -3.53 <0.001 1182.00
SES 5.35 1.24 2.91 – 7.78 4.31 <0.001 1182.00
Random Effects
σ2 734.57
τ00 CLASS 83.28
τ00 SCHOOL 75.20
ICC 0.18
N SCHOOL 107
N CLASS 312
Observations 1190
Marginal R2 / Conditional R2 0.274 / 0.403
AIC 11401.925