

   SSeettss CCoonnttrraassttss ffoorr aa FFaaccttoorr

        C(object, contr, how.many, ...)

   AArrgguummeennttss::

     object: a factor or ordered factor

      contr: which contrasts to use. Can be a matrix with one
             row for each level of the factor or a suitable
             function like `contr.poly' or a character string
             giving the name of the function

   how.many: the number of contrasts to set, by default one
             less than `nlevels(object)'.

        ...: Addtional arguments for the function `contr'.

   DDeessccrriippttiioonn::

        Sets the `"contrasts"' attribute for the factor.

   DDeettaaiillss::

        For compatibility with S, `contr' can be `treatment',
        `helmert', `sum' or `poly' (without quotes) as short-
        hand for `contr.treatment' and so on.

   VVaalluuee::

        The factor `object' with the `"contrasts"' attribute
        set.

   AAuutthhoorr((ss))::

        B.D. Ripley

   SSeeee AAllssoo::

        `contrasts', `contr.sum', etc.

   EExxaammpplleess::

        ## reset contrasts to defaults
        options(contrasts=c("contr.treatment", "contr.poly"))
        data(warpbreaks)
        attach(warpbreaks)
        tens <- C(tension, poly, 1)
        attributes(tens)
        detach()
        ## tension SHOULD be an ordered factor, but as it is not we can use
        aov(breaks ~ wool + tens + tension, data=warpbreaks)

        ## show the use of ...  The default contrast is contr.treatment here
        summary(lm(breaks ~ wool + C(tension, base=2), data=warpbreaks))

        data(esoph) # following on from help(esoph)
        model3 <- glm(cbind(ncases, ncontrols) ~ agegp + C(tobgp,, 1) +
             C(alcgp,, 1), data = esoph, family = binomial())
        summary(model3)

