Computes the F-test for all marginal terms, i.e. terms that can be dropped from the model while respecting the hierarchy of terms in the model.
## S3 method for class 'lmerModLmerTest'drop1( object, scope, ddf = c("Satterthwaite","Kenward-Roger","lme4"), force_get_contrasts =FALSE,...)
Arguments
object: an lmer model fit (of class "lmerModLmerTest".)
scope: optional character vector naming terms to be dropped from the model. Note that only marginal terms can be dropped. To see which terms are marginal, use drop.scope(terms(object)).
ddf: the method for computing the denominator degrees of freedom and F-statistics. ddf="Satterthwaite" (default) uses Satterthwaite's method; ddf="Kenward-Roger" uses Kenward-Roger's method. ddf = "lme4" returns the drop1 table for merMod objects as defined in package lme4.
force_get_contrasts: enforce computation of contrast matrices by a method in which the design matrices for full and restricted models are compared.
...: currently not used.
Returns
An anova-like table with F-tests of marginal terms.
Details
Simple marginal contrasts are used for all marginal terms unless the design matrix is rank deficient. In that case (and if force_get_contrasts is TRUE) the contrasts (i.e. restriction matrices on the design matrix of the full model) are computed by comparison of the design matrices for full and restricted models. The set of marginal terms considered for dropping are computed using drop.scope(terms(object)).
Since all tests are based on tests of contrasts in the full model, no models are being (re)fitted.
Examples
# Basic usage:fm <- lmer(angle ~ recipe + temp +(1|recipe:replicate), cake)drop1(fm)# Using Satterthwaite degrees of freedomif(requireNamespace("pbkrtest", quietly =TRUE)) drop1(fm, ddf="Kenward-Roger")# Alternative DenDF and F-test methoddrop1(fm, ddf="lme4", test="Chi")# Asymptotic Likelihood ratio tests# Consider a rank-deficient design matrix:fm <- lmer(angle ~ recipe + temp + temperature +(1|recipe:replicate), cake)# Here temp accounts for the linear effect of temperature, and# temperature is an (ordered) factor that accounts for the remaining# variation between temperatures (4 df).drop1(fm)# While temperature is in the model, we cannot test the effect of dropping# temp. After removing temperature we can test the effect of dropping temp:drop1(lmer(angle ~ recipe + temp +(1|recipe:replicate), cake))# Polynomials:# Note that linear terms should usually not be dropped before squared terms.# Therefore 'Days' should not be dropped before 'I(Days^2)' despite it being# tested here:fm <- lmer(Reaction ~ Days + I(Days^2)+(Days|Subject), sleepstudy)drop1(fm)# Using poly() provides a test of the whole polynomial structure - not a# separate test for the highest order (squared) term:fm <- lmer(Reaction ~ poly(Days,2)+(Days|Subject), sleepstudy)drop1(fm)