R: Update and Re-fit a Model Call

update {stats} | R Documentation

## Update and Re-fit a Model Call

### Description

`update` will update and (by default) re-fit a model. It does this by extracting the call stored in the object, updating the call and (by default) evaluating that call. Sometimes it is useful to call `update` with only one argument, for example if the data frame has been corrected.

“Extracting the call” in `update()` and similar functions uses `getCall()` which itself is a (S3) generic function with a default method that simply gets `x$call`.

Because of this, `update()` will often work (via its default method) on new model classes, either automatically, or by providing a simple `getCall()` method for that class.

### Usage

    update(object, ...)
    ## Default S3 method:
    update(object, formula., ..., evaluate = TRUE)

    getCall(x, ...)

### Arguments

`object, x` | An existing fit from a model function such as `lm`, `glm` and many others.
`formula.` | Changes to the formula – see `update.formula` for details.
`...` | Additional arguments to the call, or arguments with changed values. Use `name = NULL` to remove the argument `name`.
`evaluate` | If true evaluate the new call else return the call.

### Value

If `evaluate = TRUE` the fitted object, otherwise the updated call.

### References

Chambers, J. M. (1992) Linear models. Chapter 4 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.

### See Also

`update.formula`

### Examples

    oldcon <- options(contrasts = c("contr.treatment", "contr.poly"))
    ## Annette Dobson (1990) "An Introduction to Generalized Linear Models".
    ## Page 9: Plant Weight Data.
    ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
    trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
    group <- gl(2, 10, 20, labels = c("Ctl", "Trt"))
    weight <- c(ctl, trt)
    lm.D9 <- lm(weight ~ group)
    lm.D9
    summary(lm.D90 <- update(lm.D9, . ~ . - 1))
    options(contrasts = c("contr.helmert", "contr.poly"))
    update(lm.D9)
    getCall(lm.D90)  # "through the origin"

    options(oldcon)

[Package stats version 3.1.2 Index]