update.formula: Model Updating

update.formulaR Documentation

Model Updating


update.formula is used to update model formulae. This typically involves adding or dropping terms, but updates can be more general.


## S3 method for class 'formula'
update(old, new, ...)



a model formula to be updated.


a formula giving a template which specifies how to update.


further arguments passed to or from other methods.


Either or both of old and new can be objects such as length-one character vectors which can be coerced to a formula via as.formula.

The function works by first identifying the left-hand side and right-hand side of the old formula. It then examines the new formula and substitutes the lhs of the old formula for any occurrence of ‘.’ on the left of new, and substitutes the rhs of the old formula for any occurrence of ‘.’ on the right of new. The result is then simplified via terms.formula(simplify = TRUE).


The updated formula is returned. The environment of the result is that of old.

See Also

terms, model.matrix.


update(y ~ x,    ~ . + x2) #> y ~ x + x2
update(y ~ x, log(.) ~ . ) #> log(y) ~ x
update(. ~ u+v, res  ~ . ) #> res ~ u + v