library(lme4)
## Loading required package: Matrix
str(sleepstudy)
## 'data.frame':    180 obs. of  3 variables:
##  $ Reaction: num  250 259 251 321 357 ...
##  $ Days    : num  0 1 2 3 4 5 6 7 8 9 ...
##  $ Subject : Factor w/ 18 levels "308","309","310",..: 1 1 1 1 1 1 1 1 1 1 ...
xtabs(~ Subject + Days, sleepstudy)
##        Days
## Subject 0 1 2 3 4 5 6 7 8 9
##     308 1 1 1 1 1 1 1 1 1 1
##     309 1 1 1 1 1 1 1 1 1 1
##     310 1 1 1 1 1 1 1 1 1 1
##     330 1 1 1 1 1 1 1 1 1 1
##     331 1 1 1 1 1 1 1 1 1 1
##     332 1 1 1 1 1 1 1 1 1 1
##     333 1 1 1 1 1 1 1 1 1 1
##     334 1 1 1 1 1 1 1 1 1 1
##     335 1 1 1 1 1 1 1 1 1 1
##     337 1 1 1 1 1 1 1 1 1 1
##     349 1 1 1 1 1 1 1 1 1 1
##     350 1 1 1 1 1 1 1 1 1 1
##     351 1 1 1 1 1 1 1 1 1 1
##     352 1 1 1 1 1 1 1 1 1 1
##     369 1 1 1 1 1 1 1 1 1 1
##     370 1 1 1 1 1 1 1 1 1 1
##     371 1 1 1 1 1 1 1 1 1 1
##     372 1 1 1 1 1 1 1 1 1 1
(model6 <- lmer(Reaction ~ 1 + Days + (1 + Days|Subject), sleepstudy, REML=FALSE))
## Linear mixed model fit by maximum likelihood  ['lmerMod']
## Formula: Reaction ~ 1 + Days + (1 + Days | Subject)
##    Data: sleepstudy
##       AIC       BIC    logLik  deviance  df.resid 
## 1763.9393 1783.0971 -875.9697 1751.9393       174 
## Random effects:
##  Groups   Name        Std.Dev. Corr
##  Subject  (Intercept) 23.781       
##           Days         5.717   0.08
##  Residual             25.592       
## Number of obs: 180, groups:  Subject, 18
## Fixed Effects:
## (Intercept)         Days  
##      251.41        10.47
head(ranef(model6)[["Subject"]])
##     (Intercept)       Days
## 308    2.815682  9.0755339
## 309  -40.048485 -8.6440673
## 310  -38.433152 -5.5133788
## 330   22.832296 -4.6587504
## 331   21.549990 -2.9445201
## 332    8.815586 -0.2352092
(model7 <- lmer(Reaction ~ 1 + Days + (1|Subject) + (0+Days|Subject), sleepstudy, REML=FALSE))
## Linear mixed model fit by maximum likelihood  ['lmerMod']
## Formula: Reaction ~ 1 + Days + (1 | Subject) + (0 + Days | Subject)
##    Data: sleepstudy
##       AIC       BIC    logLik  deviance  df.resid 
## 1762.0033 1777.9680 -876.0016 1752.0033       175 
## Random effects:
##  Groups    Name        Std.Dev.
##  Subject   (Intercept) 24.171  
##  Subject.1 Days         5.799  
##  Residual              25.556  
## Number of obs: 180, groups:  Subject, 18
## Fixed Effects:
## (Intercept)         Days  
##      251.41        10.47
head(ranef(model7)[["Subject"]])
##     (Intercept)       Days
## 308    1.854656  9.2364346
## 309  -40.022307 -8.6174730
## 310  -38.723163 -5.4343800
## 330   23.903320 -4.8581940
## 331   22.396322 -3.1048405
## 332    9.052001 -0.2821598
anova(model7, model6)
## Data: sleepstudy
## Models:
## model7: Reaction ~ 1 + Days + (1 | Subject) + (0 + Days | Subject)
## model6: Reaction ~ 1 + Days + (1 + Days | Subject)
##        Df    AIC    BIC  logLik deviance  Chisq Chi Df Pr(>Chisq)
## model7  5 1762.0 1778.0 -876.00   1752.0                         
## model6  6 1763.9 1783.1 -875.97   1751.9 0.0639      1     0.8004
pr07 <- profile(model7)
confint(pr07)
##                  2.5 %     97.5 %
## .sig01       15.258647  37.786472
## .sig02        3.964074   8.769159
## .sigma       22.880555  28.787598
## (Intercept) 237.572148 265.238062
## Days          7.334067  13.600505
str(rr1 <- ranef(model7))
## List of 1
##  $ Subject:'data.frame': 18 obs. of  2 variables:
##   ..$ (Intercept): num [1:18] 1.85 -40.02 -38.72 23.9 22.4 ...
##   ..$ Days       : num [1:18] 9.24 -8.62 -5.43 -4.86 -3.1 ...
##  - attr(*, "class")= chr "ranef.mer"
plot(ranef(model7))
## $Subject

library(MEMSS)
## 
## Attaching package: 'MEMSS'
## The following objects are masked from 'package:datasets':
## 
##     CO2, Orange, Theoph
str(Machines)
## 'data.frame':    54 obs. of  3 variables:
##  $ Worker : Factor w/ 6 levels "1","2","3","4",..: 1 1 1 2 2 2 3 3 3 4 ...
##  $ Machine: Factor w/ 3 levels "A","B","C": 1 1 1 1 1 1 1 1 1 1 ...
##  $ score  : num  52 52.8 53.1 51.8 52.8 53.1 60 60.2 58.4 51.1 ...
xtabs(~ Machine + Worker, Machines)
##        Worker
## Machine 1 2 3 4 5 6
##       A 3 3 3 3 3 3
##       B 3 3 3 3 3 3
##       C 3 3 3 3 3 3
model10 <- lmer(score ~ Machine + (1|Worker), Machines, REML=FALSE)
model11 <- lmer(score ~ Machine + (Machine|Worker), Machines, REML=FALSE)
model12 <- lmer(score ~ Machine + (1|Worker) + (1|Machine:Worker), Machines, REML=FALSE)
anova(model10, model11, model12)
## Data: Machines
## Models:
## model10: score ~ Machine + (1 | Worker)
## model12: score ~ Machine + (1 | Worker) + (1 | Machine:Worker)
## model11: score ~ Machine + (Machine | Worker)
##         Df    AIC    BIC  logLik deviance   Chisq Chi Df Pr(>Chisq)    
## model10  5 303.70 313.65 -146.85   293.70                              
## model12  6 237.27 249.20 -112.64   225.27 68.4338      1    < 2e-16 ***
## model11 10 236.42 256.31 -108.21   216.42  8.8516      4    0.06492 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
str(ergoStool)
## 'data.frame':    36 obs. of  3 variables:
##  $ effort : num  12 15 12 10 10 14 13 12 7 14 ...
##  $ Type   : Factor w/ 4 levels "T1","T2","T3",..: 1 2 3 4 1 2 3 4 1 2 ...
##  $ Subject: Factor w/ 9 levels "A","B","C","D",..: 1 1 1 1 2 2 2 2 3 3 ...
model13 <- lmer(effort ~ 1 + (1|Subject) + (1|Type), ergoStool, REML=FALSE)
model13
## Linear mixed model fit by maximum likelihood  ['lmerMod']
## Formula: effort ~ 1 + (1 | Subject) + (1 | Type)
##    Data: ergoStool
##      AIC      BIC   logLik deviance df.resid 
## 144.0224 150.3564 -68.0112 136.0224       32 
## Random effects:
##  Groups   Name        Std.Dev.
##  Subject  (Intercept) 1.305   
##  Type     (Intercept) 1.505   
##  Residual             1.101   
## Number of obs: 36, groups:  Subject, 9; Type, 4
## Fixed Effects:
## (Intercept)  
##       10.25
model13a <- lmer(effort ~ 1 + (1|Subject), ergoStool, REML=FALSE)
anova(model13a, model13)
## Data: ergoStool
## Models:
## model13a: effort ~ 1 + (1 | Subject)
## model13: effort ~ 1 + (1 | Subject) + (1 | Type)
##          Df    AIC    BIC  logLik deviance  Chisq Chi Df Pr(>Chisq)    
## model13a  3 164.15 168.90 -79.075   158.15                             
## model13   4 144.02 150.36 -68.011   136.02 22.128      1  2.551e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(model14 <- lmer(effort ~ 1 + Type + (1|Subject), ergoStool, REML = 0))
## Linear mixed model fit by maximum likelihood  ['lmerMod']
## Formula: effort ~ 1 + Type + (1 | Subject)
##    Data: ergoStool
##      AIC      BIC   logLik deviance df.resid 
## 134.1444 143.6456 -61.0722 122.1444       30 
## Random effects:
##  Groups   Name        Std.Dev.
##  Subject  (Intercept) 1.256   
##  Residual             1.037   
## Number of obs: 36, groups:  Subject, 9
## Fixed Effects:
## (Intercept)       TypeT2       TypeT3       TypeT4  
##      8.5556       3.8889       2.2222       0.6667
model14a <- profile(lmer(effort ~ 1 + Type + (1|Subject), within(ergoStool, Type <- relevel(Type, "T2")), REML=FALSE))

pr14b <- profile(lmer(effort ~ 1 + Type + (1|Subject), within(ergoStool, Type <- relevel(Type, "T3")), REML=FALSE))

summary(model15 <- aov(effort ~ Subject + Type, ergoStool))
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Subject      8  66.50   8.312   6.866 0.000106 ***
## Type         3  81.19  27.065  22.356 3.93e-07 ***
## Residuals   24  29.06   1.211                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
coef(summary.lm(model15))
##                  Estimate Std. Error       t value     Pr(>|t|)
## (Intercept)  1.055556e+01  0.6352554  1.661624e+01 1.146367e-14
## SubjectB     6.005604e-15  0.7780258  7.719029e-15 1.000000e+00
## SubjectC    -1.500000e+00  0.7780258 -1.927957e+00 6.577394e-02
## SubjectD    -3.000000e+00  0.7780258 -3.855913e+00 7.577323e-04
## SubjectE    -3.750000e+00  0.7780258 -4.819892e+00 6.565314e-05
## SubjectF    -2.000000e+00  0.7780258 -2.570609e+00 1.678081e-02
## SubjectG    -1.500000e+00  0.7780258 -1.927957e+00 6.577394e-02
## SubjectH    -4.000000e+00  0.7780258 -5.141218e+00 2.907651e-05
## SubjectI    -2.250000e+00  0.7780258 -2.891935e+00 8.010522e-03
## TypeT2       3.888889e+00  0.5186838  7.497610e+00 9.753420e-08
## TypeT3       2.222222e+00  0.5186838  4.284348e+00 2.562927e-04
## TypeT4       6.666667e-01  0.5186838  1.285304e+00 2.109512e-01
TukeyHSD(model15, which = "Type")
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = effort ~ Subject + Type, data = ergoStool)
## 
## $Type
##             diff        lwr        upr     p adj
## T2-T1  3.8888889  2.4580431  5.3197347 0.0000006
## T3-T1  2.2222222  0.7913764  3.6530680 0.0013709
## T4-T1  0.6666667 -0.7641791  2.0975125 0.5807508
## T3-T2 -1.6666667 -3.0975125 -0.2358209 0.0182037
## T4-T2 -3.2222222 -4.6530680 -1.7913764 0.0000115
## T4-T3 -1.5555556 -2.9864013 -0.1247098 0.0295822
kappa(model15, exact = TRUE)
## [1] 10.76924