# delete.response

##### Modify Terms Objects

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

- Keywords
- programming

##### Usage

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

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?

- 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?

##### Value

`delete.response`

and `drop.terms`

return a `terms`

object.

`reformulate`

returns a `formula`

.

##### See Also

##### Examples

`library(stats)`

```
# 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"))
)
# }
```

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