Description Usage Arguments Details Value See Also Examples
This function simulates the spatially implicit assembly of individuals into a community over time. Individuals come from a given pool of species. In the pool each species is described by its trait's niche (mean and sd of a Gaussian distribution) and its frequency of occurrence in the studied region.
1 2 3 |
niche.breadth |
value of standard deviation of the Gaussian distributions that describe the niches (identical for all species) |
niche.optima |
vector of niche optima (means of the Gaussian distributions that describe the niches) in species-pool |
env |
value of the environment in the simulated community (e.g. temperature) |
beta.env |
value of the strength of the environmental filter (see details) |
beta.comp |
value of the strength of the competition filter (see details) |
beta.abun |
value of the strength of the recruitment filter (see details) |
years |
number of simulated time-steps; if plots == TRUE equilibrium conditions can be checked by eye |
K |
value of carrying capacity, i.e. number of individuals in the community |
community.in |
vector of individuals (described by species names) already in the community; if NA community is initialized randomly from species pool |
species.pool.abundance |
vector of species frequency of occurrence in species pool; if NA than all are equally frequent |
plot |
if TRUE then community composition is plotted |
Community assembly is simulated by asynchroneous updating of K individuals per year. For each update a random individual is removed and replaced by an individual from the species pool. The choice of that individual follows a multinomial distribution, with probabilities being driven by an environmental filter, a competition filter and a recruitment filter.
Environmental filter, p.env = dnorm(niche.optimum[i], mean=env, sd=niche.breadth) / dnorm(env, mean=env, sd=niche.breadth), with i being the species identity
Competition filter, p.comp= 1 - sum(alpha_ij * N_j)/sum(N_j), with j being the individuals already in the community and alpha_ij the niche-overlap
Recruitment filter, p.abun = species.pool.abundance_i + beta.abun * abun_i, with abun beeing the species i abundance in community
The probability of a species to enter the community is proportional to: p.all = exp(beta.env * log(p.env) + beta.comp * log(p.comp) + log(p.abun))
List of objects:
vector of individuals (names of species in community) in the final year)
species abundance matrix in the final year
matrix of all individuals (identified by their species name) over all time-steps
The plots on the left side show the influence of each of the three filters (y-axes) on each species (x-axes) over time. The plots on the right side show the influence of the overall filter effects (top), the abundances distribution and the dynamics of mpd (mean functional pariwise distance from picante) over time (green horizontal lines indicate the range of random expectations).
simulation.experiment
for running simulation experiments with an integrated simulation of species pools and diversity analyses of final community structures
1 2 3 4 5 6 7 8 | # create species pool
pool <- create.pool(n.species.pool=500, n.invader.pool=1, evol.model="deltaTree", min.phyl.signal=NA, evol.model.param=0.1, nrep=1)
niche.optima <- pool$func$niche_evol
names(niche.optima) <- pool$func$SpeciesID
# run community assembly either with only an environmental filter or with only a competition filter
env.filter.community <- tamaure(niche.breadth=2, niche.optima=niche.optima, env=50, beta.env=1, beta.comp=0, beta.abun=1, years=10, K=100, plot=TRUE)
competition.community <- tamaure(niche.breadth=2, niche.optima=niche.optima, env=50, beta.env=0, beta.comp=10, beta.abun=1, years=10, K=100, plot=TRUE)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.