## S3 method for class 'glm':
anova(object, \dots, dispersion = NULL, test = NULL)
glm
, typically
the result of a call to glm
, or a list of
objects
for the "glmlist"
method."Chisq"
,
"LRT"
, "Rao"
,
"F"
or "Cp"
. See stat.anova
."anova"
inheriting from class "data.frame"
.na.action = na.omit
is used,
and anova
will detect this with an error.If more than one object is specified, the table has a row for the residual degrees of freedom and deviance for each model. For all but the first model, the change in degrees of freedom and deviance is also given. (This only makes statistical sense if the models are nested.) It is conventional to list the models from smallest to largest, but this is up to the user.
The table will optionally contain test statistics (and P values)
comparing the reduction in deviance for the row to the residuals.
For models with known dispersion (e.g., binomial and Poisson fits)
the chi-squared test is most appropriate, and for those with
dispersion estimated by moments (e.g., gaussian
,
quasibinomial
and quasipoisson
fits) the F test is
most appropriate. Mallows' $C_p$ statistic is the residual
deviance plus twice the estimate of $\sigma^2$ times
the residual degrees of freedom, which is closely related to AIC (and
a multiple of it if the dispersion is known).
You can also choose "LRT"
and
"Rao"
for likelihood ratio tests and Rao's efficient score test.
The former is synonymous with "Chisq"
(although both have
an asymptotic chi-square distribution).
The dispersion estimate will be taken from the largest model, using
the value returned by summary.glm
. As this will in most
cases use a Chisquared-based estimate, the F tests are not based on
the residual deviance in the analysis of deviance table shown.
glm
, anova
. drop1
for
so-called
## --- Continuing the Example from '?glm':
require(utils)
example("glm", echo = FALSE)
anova(glm.D93)
anova(glm.D93, test = "Cp")
anova(glm.D93, test = "Chisq")
glm.D93a <-
update(glm.D93, ~treatment*outcome) # equivalent to Pearson Chi-square
anova(glm.D93, glm.D93a, test = "Rao")
Run the code above in your browser using DataLab