dummy.coef               package:base               R Documentation

Extract Coefficients in Original Coding

Description:

     This extracts coefficients in terms of the original levels of the
     coefficients rather than the coded variables.

Usage:

     dummy.coef(object, ...)
     dummy.coef.lm(object, use.na = FALSE, ...)
     dummy.coef.aovlist(object, use.na = FALSE, ...)

Arguments:

  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.

Details:

     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.

Value:

     A list giving for each term the values of the coefficients. For a
     multistratum `aov' model, such a list for each stratum.

Warning:

     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.

Author(s):

     B.D. Ripley

See Also:

     `aov', `model.tables'

Examples:

     options(contrasts=c("contr.helmert", "contr.poly"))
     ## From Venables and Ripley (1997) p.210.
     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)

