terms.object              package:stats              R Documentation

Description of Terms Objects

Description:

     An object of class 'terms' holds information about a model. 
     Usually the model was specified in terms of a 'formula' and that
     formula was used to determine the terms object.

Value:

     The object itself is simply the formula supplied to the call of
     'terms.formula'.  The object has a number of attributes and they
     are used to construct the model frame:

 factors: A matrix of variables by terms showing which variables appear
          in which terms.  The entries are 0 if the variable does not
          occur in the term, 1 if it does occur and should be coded by
          contrasts, and 2 if it occurs and should be coded via dummy
          variables for all levels (as when an intercept or lower-order
          term is missing).  If there are no terms other than an
          intercept and offsets, this is 'numeric(0)'.

term.labels: A character vector containing the labels for each of the
          terms in the model, except for offsets.  Non-syntactic names
          will be quoted by backticks.  Note that these are after
          possible re-ordering (unless argument 'keep.order' was
          false).

variables: A call to 'list' of the variables in the model.

intercept: Either 0, indicating no intercept is to be fit, or 1
          indicating that an intercept is to be fit.

   order: A vector of the same length as 'term.labels' indicating the
          order of interaction for each term.

response: The index of the variable (in variables) of the response (the
          left hand side of the formula). Zero, if there is no
          response.

  offset: If the model contains 'offset' terms there is an 'offset'
          attribute indicating which variable(s) are offsets

specials: If a 'specials' argument was given to 'terms.formula' there
          is a 'specials' attribute, a list of vectors (one for each
          specified special function) giving numeric indices of the
          arguments of the list returned as the 'variables' attribute
          which contain these special functions.

dataClasses: optional. A named character vector giving the classes (as
          given by '.MFclass') of the variables used in a fit.


     The object has class 'c("terms", "formula")'.

Note:

     These objects are different from those found in S.  In particular
     there is no 'formula' attribute, instead the object is itself a
     formula.  Thus, the mode of a terms object is different as well. 

     Examples of the 'specials' argument can be seen in the 'aov' and
     'coxph' functions.

See Also:

     'terms', 'formula'.

Examples:

     ## use of specials (as used for gam() in packages mgcv and gam)
     (tf <- terms(y ~ x + x:z + s(x), specials = "s"))
     ## Note that the "factors" attribute has variables as row names
     ## and term labels as column names, both as character vectors. 
     attr(tf, "specials")    # index 's' variable(s)
     rownames(attr(tf, "factors"))[attr(tf, "specials")$s]

     ## we can keep the order by
     terms(y ~ x + x:z + s(x), specials = "s", keep.order = TRUE)

