PCMMean {PCMBase} | R Documentation |
Expected mean vector at each tip conditioned on a trait-value vector at the root
Description
Expected mean vector at each tip conditioned on a trait-value vector at the root
Usage
PCMMean(
tree,
model,
X0 = model$X0,
metaI = PCMInfo(NULL, tree, model, verbose = verbose),
internal = FALSE,
verbose = FALSE
)
Arguments
tree |
a phylo object with N tips. |
model |
an S3 object specifying both, the model type (class, e.g. "OU") as well as the concrete model parameter values at which the likelihood is to be calculated (see also Details). |
X0 |
a k-vector denoting the root trait |
metaI |
a list returned from a call to |
internal |
a logical indicating ig the per-node mean vectors should be returned (see Value). Default FALSE. |
verbose |
logical indicating if some debug-messages should printed. |
Value
If internal is FALSE (default), then a k x N matrix Mu, such that Mu[, i]
equals the expected mean k-vector
at tip i, conditioned on X0
and the tree. Otherwise, a k x M matrix Mu containing the mean vector for each node.
Examples
# a Brownian motion model with one regime
modelBM <- PCM(model = "BM", k = 2)
# print the model
modelBM
# assign the model parameters at random: this will use uniform distribution
# with boundaries specified by PCMParamLowerLimit and PCMParamUpperLimit
# We do this in two steps:
# 1. First we generate a random vector. Note the length of the vector equals PCMParamCount(modelBM)
randomParams <- PCMParamRandomVecParams(modelBM, PCMNumTraits(modelBM), PCMNumRegimes(modelBM))
randomParams
# 2. Then we load this random vector into the model.
PCMParamLoadOrStore(modelBM, randomParams, 0, PCMNumTraits(modelBM), PCMNumRegimes(modelBM), TRUE)
# create a random tree of 10 tips
tree <- ape::rtree(10)
PCMMean(tree, modelBM)