delete.response {stats} | R Documentation |
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 |
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 |
intercept |
logical: should the formula have an intercept? |
env |
the |
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
.
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")) )