dummy.coef {stats} | R Documentation |
This extracts coefficients in terms of the original levels of the coefficients rather than the coded variables.
dummy.coef(object, ...) ## S3 method for class 'lm': dummy.coef(object, use.na = FALSE, ...) ## S3 method for class 'aovlist': dummy.coef(object, use.na = FALSE, ...)
object |
a linear model fit. |
use.na |
logical flag for coefficients in a singular model. If
use.na is true, undetermined coefficients will be missing; if
false they will get one possible value. |
... |
arguments passed to or from other methods. |
A fitted linear model has coefficients for the contrasts of the factor
terms, usually one less in number than the number of levels. This
function re-expresses the coefficients in the original coding; as the
coefficients will have been fitted in the reduced basis, any implied
constraints (e.g., zero sum for contr.helmert
or contr.sum
will be respected. There will be little point in using
dummy.coef
for contr.treatment
contrasts, as the missing
coefficients are by definition zero.
The method used has some limitations, and will give incomplete results
for terms such as poly(x, 2))
. However, it is adequate for
its main purpose, aov
models.
A list giving for each term the values of the coefficients. For a
multistratum aov
model, such a list for each stratum.
This function is intended for human inspection of the output: it should not be used for calculations. Use coded variables for all calculations.
The results differ from S for singular values, where S can be incorrect.
options(contrasts=c("contr.helmert", "contr.poly")) ## From Venables and Ripley (2002) p.165. N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0) P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0) K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0) yield <- c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0,62.8,55.8,69.5, 55.0, 62.0,48.8,45.5,44.2,52.0,51.5,49.8,48.8,57.2,59.0,53.2,56.0) npk <- data.frame(block=gl(6,4), N=factor(N), P=factor(P), K=factor(K), yield=yield) npk.aov <- aov(yield ~ block + N*P*K, npk) dummy.coef(npk.aov) npk.aovE <- aov(yield ~ N*P*K + Error(block), npk) dummy.coef(npk.aovE)