update
Update and Re-fit a Model Call
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.
- Keywords
- models
Usage
update(object, ...)
"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 argumentname
. - 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
Examples
library(stats)
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)