View source: R/make_Contsimmap.R
sim.conthistory | R Documentation |
This function creates a continuous stochastic character map (class "contsimmap
") by simulating and
mapping evolving continuous characters on a given phylogeny.
sim.conthistory(
tree,
ntraits = 1,
traits = paste0("trait_", seq_len(ntraits)),
nobs = NULL,
nsims = 100,
res = 100,
X0 = NULL,
Xsig2 = NULL,
Ysig2 = NULL,
mu = NULL,
verbose = FALSE
)
tree |
A phylogeny or list of phylogenies with or without mapped discrete characters (classes
" |
ntraits |
The number traits to simulate. |
traits |
A character vector specifying the names of each trait. The |
nobs |
A numeric vector specifying the number of observations to simulate per tip/node. Entries
are assigned to tips/nodes if named according to |
nsims |
The number of simulations to perform. Each simulation will correspond to
a separate phylogeny in |
res |
Controls the approximate number of timepoints at which to sample trait values across the entire height of the phylogeny (i.e., from root to last-surviving tip). Higher values result in more densely-sampled character histories but take longer to simulate and use more computer memory. |
X0 |
A numeric vector specifying the starting trait values at the root of the phylogeny.
Entries are assigned to traits if named according to |
Xsig2 |
A list of numeric matrices/vectors specifying the evolutionary rate matrices for each discrete
character state mapped onto the phylogeny. Evolutionary rate matrices are symmetric matrices with
diagonal and off-diagonal entries corresponding to evolutionary rates and covariances, respectively. Vectors are
assumed to be diagonal matrices (i.e., no evolutionary covariance among traits). Matrix/vector entries are assigned
to pairs of traits based on associated row/column names (plain names in the case of vectors), which are matched to
|
Ysig2 |
A list of numeric matrices/vectors specifying the intraspecifc and/or measurement error for each tip/node in
the phylogeny. These are symmetric matrices with diagonal and off-diagonal entries corresponding to the variances and covariances,
respectively, of trait measurements for a particular tip/node. Vectors are assumed to be diagonal matrices (i.e., no covariance among
trait measurements within a given node). Matrix/vector entries are assigned to pairs of traits based on associated row/column names
(plain names in the case of vectors), which are matched to |
verbose |
Each parameter input system (nobs
, X0
, Xsig2
, Ysig2
, and mu
)
has certain idiosyncrasies, but they all follow a similar philosophy. There are three steps:
Match labeled inputs to appropriate nodes/traits/states.
"Fill in" for nodes/traits/states lacking inputs with unlabeled inputs if they exist (recycling the unlabeled inputs as needed) and default values otherwise.
If multiple parameter values are provided, different parameter values will be applied to
each phylogeny in tree
, recycling as necessary. This creates some interesting quirks
when the length of different parameter values exceeds the number of phylogenies. For example,
if tree
contains 3 phylogenies and 4 lists of matrices are specified for Xsig2
, then
simulations on the 2nd and 3rd phylogenies will use the 2nd and 3rd Xsig2
lists, respectively,
while simulations on the 1st phylogeny will alternate between the 1st and 4th Xsig2
lists.
I tried to make warning messages informative enough to make potentially unexpected recycling behaviors
apparent. Users specifying complicated simulations involving varying parameter values can always
double-check their inputs were interpreted correctly using get.param.info()
.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.