terms.object {stats}R Documentation

Description of Terms Objects


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.


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


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.


## 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.5.0 Index]