Learn R Programming

paleoTS (version 0.5-1)

sim.OU: Simulate evolutionary time-series

Description

Generates an evolutionary time-series according to an Orstein-Uhlenbeck (OU) model.

Usage

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)

Arguments

ns

number of samples in time-series

anc

ancestral phenotype at the start of the series

theta

phenotype of the evolutionary optimum

alpha

strength of the attracting force pulling the population to the optimum

vs

step variance of the random walk component of change

vp

within-population trait variance

nn

vector of the number of individuals in each sample

tt

vector of sample ages, increases from oldest to youngest

aa

strength of the attracting force pulling the population to the optimum (same as alpha)

Value

A paleoTS object for sim.OU. For ou.M and ou.V, a vector of means or variances, respectively, are generated.

Details

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.

References

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.

See Also

sim.GRW, opt.joint.OU

Examples

Run this code
# 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