dummy.coef               package:stats               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, ...)

     ## S3 method for class 'lm':
     dummy.coef(object, use.na = FALSE, ...)

     ## S3 method for class 'aovlist':
     dummy.coef(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.

See Also:

     'aov', 'model.tables'

Examples:

     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)

