contr.isotonic is used in creating the design matrix
for categorical covariates with a specified order under a
particular parameterisation. For Poisson and negative binomial models, this
occurs if a categorical covariate is defined as monotonic;
for binomial models, each parameterisation defines a
permutation of the levels that must be monotonically
increasing.
For overparameterised binomial models, the design matrix for
categorical covariates must include isotonic-style dummy
covariates for every possible permutation of the levels. This
is the function of contr.opisotonic.
In the order specified by perm, the coefficient
associated with each level is the sum of increments between
the preceding levels. That is, the first level is defined
as \(0\), the second as \(0 + d_2\), the third as \(0 + d_2 + d_3\), and
so on. In fitting the model, these increments are
constrained to be non-negative.
Note that these are not `contrasts' as defined in the
theory for linear models; rather this is used to define the
contrasts attribute of each variable so that
model.matrix produces the desired design
matrix.