covStruct
is a formal argument of HLCor
, also handled by fitme
and corrHLfit
, that allows one to specify the correlation structure for different types of random effects, It is an alternative to other ad hoc formal arguments such as corrMatrix
or adjMatrix
. It replaces the deprecated function Predictor(...)
which has served as an interface for specifying the design matrices for random effects in early versions of spaMM
.
The main use of covStruct
is to specify the correlation matrix of levels of a given random effect term, or its inverse (a precision matrix). Assuming that the design matrix of each random effect term follows the structure ZAL described in random-effects
, it is thus an indirect way of specifying the “square root” L of the correlation matrix. The optional A factor can also be given by the optional "AMatrices"
attribute of covStruct
.
covStruct
is a list
of matrices with names specifying the type of matrix considered:
covStruct=list(corrMatrix=<some matrix>)
or covStruct=list(adjMatrix=<some matrix>)
, where the “corrMatrix” or “adjMatrix” labels are used to specify the type of information provided (accordingly, the names can be repeated: covStruct=list(corrMatrix=<.>,corrMatrix=<.>)
).
NULL
list members may be necessary, e.g.
covStruct=list(corrMatrix=<.>,"2"=NULL,corrMatrix=<.>)
)
when correlations matrices are required only for the first and third random effect.
The covariance structure of a corrMatrix(1|<grouping factor>)
formula term can be specified in two ways (see Examples): either by a correlation matrix factor (covStruct=list(corrMatrix=<some matrix>)
), or by a precision matrix factor Q such that the covariance factor is \(\lambda\)Q\(^{-1}\), using the type name "precision"
: covStruct=list(precision=<some matrix>)
.
The function as_precision
can be used to perform the conversion from correlation information to precision factor (using a crude solve() that may not always be efficient), but fitting functions may also perform such conversions automatically.
"AMatrices"
is a list of matrices. The names of elements of the list does not matter, but the ith A
matrix, and its row names, should match the ith Z matrix, and its column names. This implies that NULL
list members may be necessary, as for the covStruct
list.