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, …)
# S3 method for default
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)
# NOT RUN {
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)
# }