R: Modify Terms Objects

delete.response {stats} | R Documentation

## Modify Terms Objects

### Description

`delete.response` returns a `terms` object for the same model but with no response variable.

`drop.terms` removes variables from the right-hand side of the model. There is also a `"[.terms"` method to perform the same function (with `keep.response=TRUE`).

`reformulate` creates a formula from a character vector.

### Usage

    delete.response(termobj)

    reformulate(termlabels, response = NULL, intercept = TRUE)

    drop.terms(termobj, dropx = NULL, keep.response = FALSE)

### Arguments

`termobj` | A `terms` object
`termlabels` | character vector giving the right-hand side of a model formula. Cannot be zero-length.
`response` | character string, symbol or call giving the left-hand side of a model formula, or `NULL`.
`intercept` | logical: should the formula have an intercept? New in R 2.13.0.
`dropx` | vector of positions of variables to drop from the right-hand side of the model.
`keep.response` | Keep the response in the resulting object?

### Value

`delete.response` and `drop.terms` return a `terms` object.

`reformulate` returns a `formula`.

### See Also

`terms`

### Examples

    ff <- y ~ z + x + w
    tt <- terms(ff)
    tt
    delete.response(tt)
    drop.terms(tt, 2:3, keep.response = TRUE)
    tt[-1]
    tt[2:3]
    reformulate(attr(tt, "term.labels"))

    ## keep LHS :
    reformulate("x*w", ff[[2]])
    fS <- surv(ft, case) ~ a + b
    reformulate(c("a", "b*f"), fS[[2]])

    stopifnot(identical(      ~ var, reformulate("var")),
              identical(~ a + b + c, reformulate(letters[1:3])),
              identical(  y ~ a + b, reformulate(letters[1:2], "y"))
             )

[Package stats version 2.15.1 Index]