
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.
update(object, …)
# S3 method for default
update(object, formula., …, evaluate = TRUE)getCall(x, …)
An existing fit from a model function such as lm
,
glm
and many others.
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
.
If true evaluate the new call else return the call.
If evaluate = TRUE
the fitted object, otherwise the updated call.
Chambers, J. M. (1992) Linear models. Chapter 4 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.
# 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)
# }
Run the code above in your browser using DataLab