R: Add or Drop All Possible Single Terms to/from a Model

add1.vglm {VGAM} | R Documentation

## Add or Drop All Possible Single Terms to/from a Model

### Description

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.

### Usage

    ## S3 method for class 'vglm'
    add1(object, scope, test = c("none", "LRT"), k = 2, ...)
    ## S3 method for class 'vglm'
    drop1(object, scope, test = c("none", "LRT"), k = 2, ...)

### Arguments

`object` | a fitted `vglm` model object.
`scope, k` | See `drop1.glm`.

`test` | Same as `drop1.glm` but with fewer choices.

`...` | further arguments passed to or from other methods.

### Details

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 2p where p is the rank of the model (the number of effective parameters). This is only defined up to an additive constant (like log-likelihoods).

### Value

An object of class `"anova"` summarizing the differences in fit between the models.

### Warning

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.

### Note

Most VGAM family functions do not compute a deviance, but instead the likelihood function is evaluated at the MLE. Hence a column name `"Deviance"` only appears for a few models; and almost always there is a column labelled `"logLik"`.

### See Also

`step4vglm`, `vglm`, `extractAIC.vglm`, `anova.vglm`, `backPain2`, `update`.

### Examples

    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)

[Package VGAM version 1.1-3 Index]