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 |
dim |
numeric vector indicating the dimension of |
SubsetCoding |
allows a (character) type or a matrix to be assigned to variables for each element of |
, 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.
Value
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.
See Also
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)
ConstraintMatrix(var,suffconfigs,dim,SubsetCoding=list(c("A"),"Quadratic"))
# notation in one line
ConstraintMatrix(c("A"),c("A"),c(5),SubsetCoding=list(c("A"),"Quadratic"))
# 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)))))