Learn R Programming

stats (version 3.3.2)

delete.response: 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?
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

Run this code
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]])

## using non-syntactic names:
reformulate(c("`P/E`", "`% Growth`"), response = as.name("+-"))

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

Run the code above in your browser using DataLab