The function takes the factor matrix of the terms object corresponding to a
model formula and changes it so that model hierarchy is preserved also for
powers of terms (e.g.,
The factor matrix (i.e. the
The ordinary model handling functions in do not treat powers of terms
(a^n) as being higher order terms (like interaction terms).
fixModelMatrix takes the
"factor" attribute of a terms object
(usually created from a model formula) and changes it such that power terms
can be treated hierarchically just like interaction terms.
The factor matrix has one row for each variable and one coloumn for each
term. Originally, an entry is 0 if the term does not contain the variable.
If it contains the variable, the entry is 1 if the variable should be coded
with contrasts, and 2 if it should be coded with dummy variables. See
terms.object for details.
The changes performed by
Any 2's are changed to 1.
In any coloumn corresponding to a term that contains
a is the name of a variable and
n is a positive integer,
the element in the row corresponding to
a is set to n. For
instance, the entry of row
D and coloumn
C:I(D^2) is set to 2.
Rows corresponding to
I(a^n) are deleted.
Note that this changes the semantics of the factor matrix:
longer means ‘code via dummy variables’.
A factor matrix.
Øyvind Langsrud and Bjørn-Helge Mevik
mt <- terms(y ~ a + b + a:b + a:c + I(a^2) + I(a^3) + I(a^2):b) print(mOld <- attr(mt, "factor")) fixModelMatrix(mOld)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.