`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. If
`length(termlabels) > 1`

, its elements are concatenated with `+`

.
Non-syntactic names (e.g. containing spaces or special characters; see
`make.names`

) must be protected with backticks (see examples).
A non-`parse`

able `response`

still works for now,
back compatibly, with a deprecation warning.

`delete.response(termobj)`reformulate(termlabels, response = NULL, intercept = TRUE, env = parent.frame())

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

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?

env

the `environment`

of the `formula`

returned.

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?

`delete.response`

and `drop.terms`

return a `terms`

object.

`reformulate`

returns a `formula`

.

# NOT RUN { 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("+-")) x <- c("a name", "another name") try( reformulate(x) ) # -> Error ..... unexpected symbol ## rather backquote the strings in x : reformulate(sprintf("`%s`", x)) 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 DataCamp Workspace