# rTraitMult

From ape v2.7-3
0th

Percentile

##### Multivariate Character Simulation

This function simulates the evolution of a multivariate set of traits along a phylogeny. The calculation is done recursively from the root.

Keywords
datagen
##### Usage
rTraitMult(phy, model, p = 1, root.value = rep(0, p), ancestor = FALSE,
asFactor = NULL, trait.labels = paste("x", 1:p, sep = ""), ...)
##### Arguments
phy
an object of class "phylo".
model
a function specifying the model (see details).
p
an integer giving the number of traits.
root.value
a numeric vector giving the values at the root.
ancestor
a logical value specifying whether to return the values at the nodes as well (by default, only the values at the tips are returned).
asFactor
the indices of the traits that are returned as factors (discrete traits).
trait.labels
a vector of mode character giving the names of the traits.
...
further arguments passed to model if it is a function.
##### Details

The model is specified with an Rfunction of the form foo(x, l) where x is a vector of the traits of the ancestor and l is the branch length. Other arguments may be added. The function must return a vector of the of length p.

##### Value

• A data frame with p columns whose names are given by trait.labels and row names taken from the labels of the tree.

rTraitCont, rTraitDisc, ace

• rTraitMult
##### Examples
## correlated evolution of 2 continuous traits:
mod <- function(x, l) {
y <- numeric(length(x))
y[1] <- rnorm(1, x[1] + 0.5*x[2], 0.1)
y[2] <- rnorm(1, 0.5*x[1] + x[2], 0.1)
y
}
set.seed(11)
tr <- makeNodeLabel(rcoal(20))
x <- rTraitMult(tr, mod, 2, ancestor = TRUE)
op <- par(mfcol = c(2, 1))
plot(x, type = "n")
text(x, labels = rownames(x), cex = 0.7)
oq <- par(mar = c(0, 1, 0, 1), xpd = TRUE)
plot(tr, font = 1, cex = 0.7)
nodelabels(tr\$node.label, cex = 0.7, adj = 1)
par(c(op, oq))
Documentation reproduced from package ape, version 2.7-3, License: GPL (>= 2)

### Community examples

Looks like there are no examples yet.