# A 2 x 2 factorial ANCOVA with one covariate.
set.seed(113)
d <- data.frame(
A = factor(rep(c("a1", "a2"), each = 40)),
B = factor(rep(rep(c("b1", "b2"), each = 20), 2)),
x = rnorm(80)
)
d$y <- 5 + 2 * (d$A == "a2") + 1.5 * (d$B == "b2") +
0.8 * d$x + rnorm(80)
fit <- lm(y ~ A * B + x, data = d)
# Cells in reference-grid order: (a1,b1), (a2,b1), (a1,b2), (a2,b2).
# Main effect of A, averaged over B: mean(a2 cells) - mean(a1 cells).
contrast_adjusted(fit, contrast = c(-0.5, 0.5, -0.5, 0.5))
Run the code above in your browser using DataLab