Create a multi-regime Gaussian model (MixedGaussian)
MixedGaussian(k, modelTypes, mapping, className = paste0("MixedGaussian_", do.call(paste0, as.list(mapping))), X0 = structure(0, class = c("VectorParameter", "_Global"), description = "trait values at the root"), ..., Sigmae_x = structure(0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"), description = "Upper triangular Choleski factor of the non-phylogenetic variance-covariance"))
k | integer defining the number of traits. |
---|---|
modelTypes | a character string vector with the class names of the
model-types that can possibly be included (assigned to regimes) in the MixedGaussian,
e.g. c("BM", "OU") (see also |
mapping | a character string vector with elements from modelTypes or an
integer vector with elements between 1 and length(modelTypes)
mapping modelTypes to regimes, e.g. if |
className | a character string definingn a valid S3 class name for the
resulting MixedGaussian object. If not specified, a className is generated using the
expression |
X0 | specification for the global vector X0 to be used by all models in the MixedGaussian. |
... | specifications for other _Global parameters coming after X0. |
Sigmae_x | sepcification of a _Global Sigmae_x parameter. This is used by Submodels only if they have Sigmae_x _Omitted. |
an object of S3 class className inheriting from MixedGaussian, GaussianPCM and PCM.
If X0 is not NULL it has no sense to use model-types including X0 as a parameter (e.g. use BM1 or BM3 insted of BM or BM2). Similarly if Sigmae_x is not NULL there is no meaning in using model-types including Sigmae_x as a parameter, (e.g. use OU2 or OU3 instead of OU or OU1).