Generates an evolutionary time-series according to an Orstein-Uhlenbeck (OU) model.
sim.OU(ns = 20, anc = 0, theta = 10, alpha = 0.3, vs = 0.1, vp = 1,
nn = rep(20, ns), tt = 0:(ns-1))ou.M(anc, theta, aa, tt)
ou.V(vs, aa, tt)
number of samples in time-series
ancestral phenotype at the start of the series
phenotype of the evolutionary optimum
strength of the attracting force pulling the population to the optimum
step variance of the random walk component of change
within-population trait variance
vector of the number of individuals in each sample
vector of sample ages, increases from oldest to youngest
strength of the attracting force pulling the population to the optimum (same as alpha
)
A paleoTS
object for sim.OU
. For ou.M
and ou.V
, a vector of means or variances, respectively, are generated.
See Hansen (1997) for a description of this model in a macroevolutionary context. This model also arises naturally in
microevolution as a finite population evolving in the vicinity of an optimum in the adaptive landscape; see Lande (1976)
and Estes & Arnold (2007).
Functions ou.M
and ou.V
are used internally by sim.OU
to generate the
means and variances of an OU process.
Lande, R. 1976. Natural selection and random genetic drift in phenotypic evolution. Evolution 30:314-334. Hansen, T. 1997. Stabilizing selection and the comparative analysis of adaptation. Evolution 51:1341-1351. Estes, S. & Arnold, S. J. 2007. Resolving the paradox of stasis: models of stabilizing selection explain evolutionary divergence on all timescales. American Naturalist 169:227-244. Hunt, G., M. Bell & M. Travis. 2008. Evolution towards a new adaptive optimum: phenotypic evolution in a fossil stickleback lineage. Evolution 62:700--710.
# NOT RUN {
x1<- sim.OU(ns=100, anc=0, theta=10, alpha=0.2, vs=0.1, vp=0.1, nn=rep(100, times=100), tt=0:99)
plot(x1)
# }
Run the code above in your browser using DataLab