if (!require("pacman")) install.packages("pacman")
pacman::p_load(s20x, lme4, AICcmodavg, MASS)
# Data prep
data(Orthodont,package="nlme")
head(Orthodont)
## Grouped Data: distance ~ age | Subject
##   distance age Subject  Sex
## 1     26.0   8     M01 Male
## 2     25.0  10     M01 Male
## 3     29.0  12     M01 Male
## 4     31.0  14     M01 Male
## 5     21.5   8     M02 Male
## 6     22.5  10     M02 Male
# Model definition
null <- lmer(distance ~ 1 + (1|Subject), data=Orthodont, REML=FALSE)
age <- lmer(distance ~ age + (1|Subject), data=Orthodont, REML=FALSE)
sex <- lmer(distance ~ Sex + (1|Subject), data=Orthodont, REML=FALSE)
add <- lmer(distance ~ age + Sex + (1|Subject), data=Orthodont, REML=FALSE)
# Model selection
 cand.mod.names <- c("null", "age", "sex", "add") 
cand.mods <- list( ) 
      
       # This function fills the list by model names
          for(i in 1:length(cand.mod.names)) {
            cand.mods[[i]] <- get(cand.mod.names[i]) }
      
      # Function aictab does the AICc-based model comparison
       print(aictab(cand.set = cand.mods, 
                    modnames = cand.mod.names))
## 
## Model selection based on AICc:
## 
##      K   AICc Delta_AICc AICcWt Cum.Wt      LL
## add  5 445.44       0.00   0.96   0.96 -217.43
## age  4 451.78       6.33   0.04   1.00 -221.69
## sex  4 515.35      69.90   0.00   1.00 -253.48
## null 3 521.72      76.28   0.00   1.00 -257.75