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

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

   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"))
              )

