Linear Mixed Model Methodology

## 1 Model Form

The book presents linear mixed models in the form

Y=Xβ+Zb+e,

where Y is the response vector, X is the fixed effect design matrix, β is the vector of fixed effect parameters, Z is the random effect design matrix, b is the random effect vector, and e is the residual error. The usual assumptions are

b∼N(0,G),e∼N(0,R),  Cov (b,e) = 0.

The marginal variance is therefore

V=ZGZT+R.

## 2 Fixed Effects

When variance components are known or estimated, generalized least squares estimates the fixed effects as

β̂= (XTV−1X)−XTV−1Y.

The generalized inverse is needed for overparameterized model descriptions, which are common in the book because the SAS examples use reference-level constraints.

## 3 Variance Components

Example 2.4.2.2 uses the `ex125` split-plot data. The book reports maximum likelihood and restricted maximum likelihood variance component estimates for region, herd within region and drug, and residual error.

    if (requireNamespace("lme4", quietly = TRUE)) {
      fit_ml <- lme4::lmer(
        Pcv ~ dose * Drug + (1 | Region / Drug),
        data = ex125,
        REML = FALSE
      )
      if (requireNamespace("report", quietly = TRUE)) {
        report::report(fit_ml)
      }

      fit_reml <- lme4::lmer(
        Pcv ~ dose * Drug + (1 | Region / Drug),
        data = ex125,
        REML = TRUE
      )
      if (requireNamespace("report", quietly = TRUE)) {
        report::report(fit_reml)
      }

      data.frame(
        component = as.data.frame(lme4::VarCorr(fit_ml))$grp,
        ml = round(as.data.frame(lme4::VarCorr(fit_ml))$vcov, 3),
        reml = round(as.data.frame(lme4::VarCorr(fit_reml))$vcov, 3)
      )
    }

        component    ml  reml
    1 Drug:Region 0.322 0.387
    2      Region 4.292 5.151
    3    Residual 1.747 2.096

These estimates match the readable printed table in the book to rounding: `4.292`, `0.322`, and `1.747` for ML, and `5.151`, `0.387`, and `2.096` for REML.

## 4 Reporting Fitted Models

The package keeps `report` optional, but fitted mixed models can be interpreted with `report_mixed_model()` when the easystats reporting package is available. This reporting step does not refit the model or change the estimates; it only turns the fitted model object into a narrative summary. The helper wraps the same guarded call to `report::report()`.

    if (requireNamespace("report", quietly = TRUE) && exists("fit_reml")) {
      report::report(fit_reml)
    } else {
      data.frame(
        workflow = "Optional model report",
        requirement = "Install report to generate easystats-style summaries"
      )
    }

    We fitted a linear mixed model (estimated using REML and nloptwrap optimizer)
    to predict Pcv with dose and Drug (formula: Pcv ~ dose * Drug). The model
    included Drug as random effects (formula: list(~1 | Drug:Region, ~1 | Region)).
    The model's total explanatory power is substantial (conditional R2 = 0.89) and
    the part related to the fixed effects alone (marginal R2) is of 0.58. The
    model's intercept, corresponding to dose = h and Drug = BERENIL, is at 25.45
    (95% CI [23.07, 27.83], t(17) = 22.56, p < .001). Within this model:

      - The effect of dose [l] is statistically non-significant and negative (beta =
    -1.17, 95% CI [-2.93, 0.60], t(17) = -1.40, p = 0.181; Std. beta = -0.28, 95%
    CI [-0.70, 0.14])
      - The effect of Drug [samorin] is statistically significant and negative (beta
    = -3.97, 95% CI [-5.89, -2.05], t(17) = -4.36, p < .001; Std. beta = -0.95, 95%
    CI [-1.41, -0.49])
      - The effect of dose [l] × Drug [samorin] is statistically significant and
    negative (beta = -3.18, 95% CI [-5.68, -0.69], t(17) = -2.69, p = 0.015; Std.
    beta = -0.76, 95% CI [-1.36, -0.17])

    Standardized parameters were obtained by fitting the model on a standardized
    version of the dataset. 95% Confidence Intervals (CIs) and p-values were
    computed using a Wald t-distribution approximation.

## 5 Post Hoc Inference with emmeans

Model reports and marginal means answer different questions. A report gives a narrative summary of the fitted model, while `emmeans` focuses on model-based means and comparisons among scientifically meaningful factor levels. The package helper `emmeans_mixed_model()` wraps this same guarded `emmeans` workflow for users who want a package-level entry point.

    if (requireNamespace("emmeans", quietly = TRUE) && exists("fit_reml")) {
      dose_emm <- emmeans::emmeans(
        fit_reml,
        ~ dose | Drug,
        lmer.df = "asymptotic"
      )
      dose_pairs <- emmeans::contrast(dose_emm, method = "pairwise")

      as.data.frame(dose_emm)
    } else {
      data.frame(
        workflow = "Optional marginal means",
        requirement = "Install emmeans to compute post hoc model summaries"
      )
    }

    Drug = BERENIL:
     dose   emmean       SE  df asymp.LCL asymp.UCL
     h    25.45000 1.127996 Inf  23.23917  27.66083
     l    24.28333 1.127996 Inf  22.07250  26.49416

    Drug = samorin:
     dose   emmean       SE  df asymp.LCL asymp.UCL
     h    21.48333 1.127996 Inf  19.27250  23.69417
     l    17.13333 1.127996 Inf  14.92250  19.34417

    Degrees-of-freedom method: asymptotic
    Confidence level used: 0.95

    if (exists("dose_pairs")) {
      as.data.frame(dose_pairs)
    }

    Drug = BERENIL:
     contrast estimate       SE  df z.ratio p.value
     h - l    1.166667 0.835946 Inf   1.396  0.1628

    Drug = samorin:
     contrast estimate       SE  df z.ratio p.value
     h - l    4.350000 0.835946 Inf   5.204 <0.0001

    Degrees-of-freedom method: asymptotic

The marginal means summarize model-predicted packed cell volume by dose within drug. The pairwise contrasts then test the high-versus-low dose difference within each drug group, which is a post hoc interpretation layer rather than a replacement for the fitted mixed model.

## 6 Inference

Inference for fixed effects in mixed models depends on variance component estimation and denominator degrees of freedom. The package examples use `lmerTest` for Satterthwaite-style tests where the book uses SAS `PROC MIXED`. Small numerical differences are expected across software versions and methods, especially for degrees of freedom and p-values.