# update.formula

##### Model Updating

`update.formula`

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

- Keywords
- models

##### Usage

```
# S3 method for formula
update(old, new, …)
```

##### Arguments

- old
a model formula to be updated.

- new
a formula giving a template which specifies how to update.

- …
further arguments passed to or from other methods.

##### Details

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)`

.

##### Value

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

.

##### See Also

##### Examples

`library(stats)`

```
# NOT RUN {
update(y ~ x, ~ . + x2) #> y ~ x + x2
update(y ~ x, log(.) ~ . ) #> log(y) ~ x
update(. ~ u+v, res ~ . ) #> res ~ u + v
# }
```

*Documentation reproduced from package stats, version 3.6.1, License: Part of R 3.6.1*