Last chance! 50% off unlimited learning
Sale ends in
Compute all the single terms in the scope
argument that
can be
added to or
dropped from the model, fit those models and compute a
table of the changes in fit.
# S3 method for vglm
add1(object, scope, test = c("none", "LRT"), k = 2, …)
# S3 method for vglm
drop1(object, scope, test = c("none", "LRT"), k = 2, …)
a fitted vglm
model object.
See drop1.glm
.
Same as drop1.glm
but with fewer choices.
further arguments passed to or from other methods.
An object of class "anova"
summarizing the differences in fit
between the models.
In general, the same warnings in
add1.glm
and
drop1.glm
apply here.
Furthermore, these functions have not been rigorously
tested for all models, so treat the results cautiously and
please report any bugs.
Care is needed to check that the constraint matrices of added
terms are correct.
Also, if object
is of the form
vglm(..., constraints = list(x1 = cm1, x2 = cm2))
then add1.vglm
may fail because the
constraints
argument needs to have the constaint
matrices for all terms.
These functions are a direct adaptation of
add1.glm
and
drop1.glm
for vglm-class
objects.
For drop1
methods, a missing scope
is taken to be all
terms in the model. The hierarchy is respected when considering terms
to be added or dropped: all main effects contained in a second-order
interaction must remain, and so on.
In a scope
formula .
means ‘what is already there’.
Compared to
add1.glm
and
drop1.glm
these functions are simpler, e.g., there is no
Cp, F and Rao (score) tests,
x
and scale
arguments.
Most models do not have a deviance, however twice the
log-likelihood differences are used to test the significance
of terms.
The default output table gives AIC, defined as minus twice log
likelihood plus
step4vglm
,
vglm
,
extractAIC.vglm
,
anova.vglm
,
backPain2
,
update
.
# NOT RUN {
data("backPain2", package = "VGAM")
summary(backPain2)
fit1 <- vglm(pain ~ x2 + x3 + x4, propodds, data = backPain2)
coef(fit1)
add1(fit1, scope = ~ x2 * x3 * x4, test = "LRT")
drop1(fit1, test = "LRT")
fit2 <- vglm(pain ~ x2 * x3 * x4, propodds, data = backPain2)
drop1(fit2)
# }
Run the code above in your browser using DataLab