Learn R Programming

gnm (version 0.9-9)

MultHomog: Specify a Multiplicative Interaction with Homogeneous Effects in a gnm Model Formula

Description

A function of class "nonlin" to specify a multiplicative interaction with homogeneous effects in the formula argument to gnm.

Usage

MultHomog(..., inst = NULL)

Arguments

...
a comma-separated list of two or more factors.
inst
(optional) an integer specifying the instance number of the term.

Value

  • A list with the anticipated components of a "nonlin" function:
  • predictorsthe factors passed to MultHomog
  • commonan index to specify that common effects are to be estimated across the factors
  • terma function to create a deparsed mathematical expression of the term, given labels for the predictors.
  • callthe call to use as a prefix for parameter labels.

Details

MultHomog specifies instances of a multiplicative interaction in which the constituent multipliers are the effects of two or more factors and the effects of these factors are constrained to be equal when the factor levels are equal. Thus the interaction effect would be $$\gamma_i\gamma_j...$$ for an observation with level $i$ of the first factor, level $j$ of the second factor and so on, where $\gamma_l$ is the effect for level $l$ of the homogeneous multiplicative factor.

If the factors passed to MultHomog do not have exactly the same levels, the set of levels is taken to be the union of the factor levels, sorted into increasing order.

References

Goodman, L. A. (1979) Simple Models for the Analysis of Association in Cross-Classifications having Ordered Categories. J. Am. Stat. Assoc., 74(367), 537-552.

See Also

gnm, formula, instances, nonlin.function, Mult

Examples

Run this code
set.seed(1)
data(friend)

###  Fit an association model with homogeneous row-column effects
rc1 <- gnm(Freq ~ r + c + Diag(r,c) + MultHomog(r, c),
           family = poisson, data = friend)
rc1

###  Extend to two-component interaction
rc2 <- update(rc1, . ~ . + MultHomog(r, c, inst = 2),
              etastart = rc1$predictors)
rc2

Run the code above in your browser using DataLab