## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")

## ----setup--------------------------------------------------------------------
library(intraclass)

## ----ml-data------------------------------------------------------------------
str(school)

## ----ml-fit, eval = requireNamespace("glmmTMB", quietly = TRUE)---------------
icc(school, score, subject = pupil, rater = rater, cluster = classroom, type = "agreement", seed = 1)

## ----ml-conflated, eval = requireNamespace("glmmTMB", quietly = TRUE)---------
icc(school, score,
  subject = pupil, rater = rater, cluster = classroom,
  type = "agreement", level = c("subject", "cluster", "conflated"), seed = 1
)

## ----ml-nested-clusters, eval = requireNamespace("glmmTMB", quietly = TRUE)----
school_d2 <- school
school_d2$rater <- factor(paste(school_d2$classroom, school_d2$rater, sep = "_"))
icc(school_d2, score, subject = pupil, rater = rater, cluster = classroom, type = "agreement", seed = 1)

## ----ml-nested-subjects, eval = requireNamespace("glmmTMB", quietly = TRUE)----
school_d3 <- school
school_d3$rater <- factor(paste(school_d3$pupil, school_d3$rater, sep = "_"))
icc(school_d3, score, subject = pupil, rater = rater, cluster = classroom, type = "agreement", seed = 1)

## ----ml-declared-clusters, eval = requireNamespace("glmmTMB", quietly = TRUE)----
icc(school, score,
  subject = pupil, rater = rater, cluster = classroom,
  type = "agreement", design = "nested_in_clusters", seed = 1
)

## ----ml-declared-subjects, eval = requireNamespace("glmmTMB", quietly = TRUE)----
icc(school, score,
  subject = pupil, rater = rater, cluster = classroom,
  type = "agreement", design = "nested_in_subjects", seed = 1
)

## ----ml-incomplete-data-------------------------------------------------------
nrow(school)
nrow(school_incomplete)

## ----ml-incomplete-subject, eval = requireNamespace("glmmTMB", quietly = TRUE)----
icc(school_incomplete, score, subject = pupil, rater = rater, cluster = classroom,
  type = "agreement", level = "subject", seed = 1)

## ----ml-incomplete-cluster, eval = requireNamespace("glmmTMB", quietly = TRUE)----
icc(school_incomplete, score, subject = pupil, rater = rater, cluster = classroom,
  level = "cluster", type = c("agreement", "consistency"),
  unit = c("single", "average"), seed = 1)

## ----ml-fixed, eval = requireNamespace("glmmTMB", quietly = TRUE)-------------
icc(school, score, subject = pupil, rater = rater, cluster = classroom,
  type = "agreement", raters = "fixed")

## ----ml-dstudy, eval = requireNamespace("glmmTMB", quietly = TRUE)------------
d_study(
  icc(school, score, subject = pupil, rater = rater, cluster = classroom, type = "agreement", seed = 1),
  m = c(1, 2, 4, 8)
)

## ----plot-ml, eval = requireNamespace("ggplot2", quietly = TRUE) && requireNamespace("glmmTMB", quietly = TRUE), fig.alt = "Forest plot of the school multilevel fit, faceted into subject-level and cluster-level panels, each showing ICC(A,1) and ICC(A,k) with Monte-Carlo intervals."----
library(ggplot2)
autoplot(icc(school, score, subject = pupil, rater = rater, cluster = classroom,
  type = "agreement", seed = 1))

## ----choose-ml----------------------------------------------------------------
choose_icc(model = "twoway", multilevel = TRUE, level = "cluster",
  type = "consistency", unit = "single", raters = "random")

