update.formula {stats} | R Documentation

## Model Updating

### Description

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

### Usage

    ## S3 method for class '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

`terms`, `model.matrix`.

### Examples

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

[Package stats version 3.4.2 Index]