ConstraintMatrix {cmm} R Documentation

## ConstraintMatrix

### Description

Returns hierarchical model constraint matrix, i.e., nullspace of design matrix

### Usage

ConstraintMatrix(var, suffconfigs, dim, SubsetCoding = "Automatic")


### Arguments

 var character or numeric vector containing variables suffconfigs subvector or list of subvectors of var indicating the sufficient configurations or highest order interactions in model dim numeric vector indicating the dimension of var (must be same length as var) SubsetCoding allows a (character) type or a matrix to be assigned to variables for each element of suffconfigs

, see examples

### Details

The model \mu_{ij}=\alpha+\beta_{i}+\gamma_j has parametric form and can equivalently be described using constraints on the \mu_{ij}, by \mu_{ij}-\mu_{il}-\mu_{kj}+\mu_{kl}=0. Returns the transpose of the null space of DesignMatrix(var,marg,dim). Rows normally sum to zero. See DesignMatrix for more details.

matrix

### Author(s)

W. P. Bergsma w.p.bergsma@lse.ac.uk

### References

Bergsma, W. P. (1997). Marginal models for categorical data. Tilburg, The Netherlands: Tilburg University Press. http://stats.lse.ac.uk/bergsma/pdf/bergsma_phdthesis.pdf

Bergsma, W. P., Croon, M. A., & Hagenaars, J. A. P. (2009). Marginal models for dependent, clustered, and longitudunal categorical data. Berlin: Springer.

ConstraintMatrix, DesignMatrix, DirectSum, MarginalMatrix

### Examples


# Constraint matrix for independence model
var <- c("A","B")
suffconfigs <- list(c("A"),c("B"))
dim <- c(3, 3)
ConstraintMatrix(var,suffconfigs,dim)
# notation in one line
ConstraintMatrix(c("A","B"),list(c("A"),c("B")),c(3,3))

# Constraint matrix for saturated model, two short specifications giving same result
ConstraintMatrix(c("A","B"),c("A","B"),c(3,3))
ConstraintMatrix(c("A","B"),list(c("A","B")),c(3,3))

# Constraint matrix for univariate quadratic regression model
var <- c("A")
suffconfigs <- c("A")
dim <- c(5)
# notation in one line

# Constraint matrix for linear by nominal model, various methods:
# simplest method which assumes equidistant centered scores:
ConstraintMatrix(
var = c("A", "B"),
suffconfigs = c("A", "B"),
dim = c(3, 3),
SubsetCoding = list(c("A", "B"), list("Linear", "Nominal")))
# alternative specification with same result as above:
ConstraintMatrix(
var = c("A", "B"),
suffconfigs = c("A", "B"),
dim = c(3, 3),
SubsetCoding = list(c("A", "B"), list(rbind(c(-1, 0, 1)), rbind(c(1, 0, 0), c(0, 1, 0)))))
# specifying your own category scores
scores <- c(1,2,5);
ConstraintMatrix(
var = c("A", "B"),
suffconfigs = c("A", "B"),
dim = c(3, 3),
SubsetCoding = list(c("A", "B"), list(rbind(scores), "Nominal")))

# Constraint matrix for nominal by nominal model, equating parameters of
# last two categories of second variable:
ConstraintMatrix(var = c("A", "B"), suffconfigs = c("A", "B"), dim = c(3,3),
SubsetCoding = list(c("A", "B"), list("Nominal", rbind(c(1, 0, 0), c(0, 1, 1)))))


[Package cmm version 1.0 Index]