terms.object {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)

[Package stats version 2.6.0 Index]