Ecological drift simulation under the Unified Neutral Theory of Biodiversity
Simulates ecological drift under the UNTB. Function
carries out the simulation; function
carries out a single generational step.
untb(start, prob=0, D=1, gens=150, keep=FALSE, meta=NULL) select(a, D=length(a), prob=0, meta=NULL) select.mutate(a, D=length(a), prob.of.mutate=0) select.immigrate(a, D=length(a), prob.of.immigrate=0, meta)
- a, start
- Starting ecosystem; coerced to class census. Usually,
pass an object of class count; see examples. To start
with a monoculture of size 10, use
start=rep(1,10)and to use
- prob, prob.of.immigrate, prob.of.mutate
- Probability of new organism not being a descendent of an existing individual
- Number of organisms that die in each timestep
- Number of generations to simulate
- In function
untb()Boolean with default
FALSEmeaning to return the system at the end of the simulation and
TRUEmeaning to return a matrix whose rows are the ecosystem at successive times
- In function
untb(), the metacommunity; coerced to a
countobject. Default of
NULLmeans to use a greedy system in which every mutation gives rise to a new, previously unencountered species. This would correspond to an infinitely large, infinitely diverse, Hubbellian ecosystem (which is not too ridiculous an assumption for a small island near a large diverse mainland).
select.immigrate(), a simplified representation of a metacommunity.
select.mutate() are not
really intended for the end user; they use computationally efficient
(and opaque) integer arithmetic.
S. P. Hubbell 2001. The Unified Neutral Theory of Biodiversity. Princeton University Press.
data(butterflies) untb(start=butterflies, prob=0, gens=100) a <- untb(start=1:10,prob=0.005, gens=1000,keep=TRUE) plot(species.count(a),type="b") matplot(species.table(a),type="l",lty=1)