Tentative formal rules for definition of corrFamily descriptors (work in progress). This is likely to repeat and extend information partially given in corrFamily
and corrFamily-design
documentations.
User-level rules (not relevant fo corrFamily descriptors internally modified during a fit):
Should always be present. For trivial parameterless cases (e.g. ranGCA
), it should be numeric(0L)
, not NULL
.
function; should always be present. For trivial uncorrelated random effects (e.g. ranGCA
,
where only the Af
function carries the information for the model),
it should return an identity matrix, not NULL
,
with row names to be matched to the column names of the Z matrix for the random effect.
optional function. If present, it should have formal arguments including at least corrfamily
and ....
function; optional. If present, it should have row names to be matched to the column names of the Z matrix for the random effect, and also needs column names if it is to be matched with the row names of a correlation matrix (or its inverse).
Optional function. If present, should have formal arguments including at least Zmatrix
and ....
In predefined corrFamily constructors, variables created by initialize
for use by Cf
or Af
should be declared (typically as NULL
) in the body of the constructor, so that R CMD check does not complain.
An environment. initialize
may write into it. It might also read into it, for example read the result of a long previous computation by initialize
during a previous fit, though this opens the door to various errors.