

   EExxttrraacctt CCooeeffffiicciieennttss iinn OOrriiggiinnaall CCooddiinngg

        dummy.coef(object, ...)
        dummy.coef.lm(object,)
        dummy.coef.aovlist(object, )

   AArrgguummeennttss::

     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 possi-
             ble value.

   DDeessccrriippttiioonn::

        This extracts coefficients in terms of the original
        levels of the coefficients rather than the coded vari-
        ables.

   DDeettaaiillss::

        A fitted linear model has coefficients for the con-
        trasts 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 coeffi-
        cients 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' con-
        trasts, as the missing coefficients are by definition
        zero.

   VVaalluuee::

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

   WWAARRNNIINNGG::

        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.

   AAuutthhoorr((ss))::

        B.D. Ripley

   SSeeee AAllssoo::

        `aov',  `model.tables'

   EExxaammpplleess::

        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)

