Description Usage Arguments Value Author(s) References See Also Examples
View source: R/DAISIE_sim_constant_rate.R
This function simulates islands with given cladogenesis, extinction, Kprime, immigration and anagenesis parameters. If a single parameter set is provided (5 parameters) it simulates islands where all species have the same macro-evolutionary process. If two paramater sets (10 parameters) are provided, it simulates islands where two different macro-evolutionary processes operate, one applying to type 1 species and other to type 2 species. If two parameter sets and a time shift (11 parameters) are provided, it simulates islands where at the given time a shift between the parameter sets will occur.
Returns R list object that contains the simulated islands
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
time |
Numeric defining the length of the simulation in time units. For examples, if an island is known to be 4 million years old, setting time = 4 will simulate the entire life span of the island; setting time = 2 will stop the simulation at the mid-life of the island. |
M |
Numeric defining the size of mainland pool, i.e. the number of species that can potentially colonize the island. |
pars |
A numeric vector containing the model parameters:
The elements 6:10 are required only when type 2 species are included or in the rate shift model. |
replicates |
Number of island replicates to be simulated. |
divdepmodel |
Option divdepmodel = 'CS' runs a model with clade-specific carrying capacity, where diversity-dependence operates only within single clades, i.e. only among species originating from the same mainland colonist. Option divdepmodel = 'IW' runs a model with island-wide carrying capacity, where diversity-dependence operates within and among clades. Option divdepmodel = 'GW' runs a model with diversity-dependence operates within a guild. |
nonoceanic_pars |
A vector of length two with:
|
num_guilds |
The number of guilds on the mainland. The number of
mainland species is divided by the number of guilds when |
prop_type2_pool |
Fraction of mainland species that belongs to the
second subset of species (type 2). Applies only when two types of species
are simulated (length(pars) = 10). For |
replicates_apply_type2 |
Applies only when two types of species are being simulated. Default replicates_apply_type2 = TRUE runs simulations until the number of islands where a type 2 species has colonised is equal to the specified number of replicates. This is recommended if prop_type2_pool is small or if the rate of immigration of type two species (pars[9]) is low, meaning that more replicates are needed to achieved an adequate sample size of islands with type 2 species. Setting replicates_apply_type2 = FALSE simulates islands up to the specified number of replicates regardless of whether type 2 species have colonised or not. |
sample_freq |
Numeric specifing the number of units times should be divided by for plotting purposes. Larger values will lead to plots with higher resolution, but will also run slower. |
plot_sims |
Default = TRUE plots species-through-time (STT) plots. It detects how many types of species are present. If only one type of species is present, STT is plotted for all species. If two types are present, three plots are produced: STT for all, STT for type 1 and STT for type 2. |
hyper_pars |
A named list of numeric hyperparameters for the rate
calculations as returned by
|
area_pars |
A named list containing area and sea level parameters as
created by
|
dist_pars |
A named list of a numeric distance from the mainland as
created by
|
verbose |
In simulation and dataprep functions a logical,
|
... |
Any arguments to pass on to plotting functions. |
Each simulated dataset is an element of the list, which can be
called using [[x]]. For example if the object is called island_replicates,
the last replicates is a list in itself. The first (e.g.
island_replicates[[x]][[1]]) element of that list has the following
components:
$island_age
- the island age
Then, depending on
whether a distinction between types is made, we have:
$not_present
- the number of mainland lineages that are not present on the island
or:
$not_present_type1
- the number of mainland lineages of type 1
that are not present on the island
$not_present_type2
- the
number of mainland lineages of type 2 that are not present on the island
$stt_all
- STT table for all species on the island (nI - number of
non-endemic species; nA - number of anagenetic species, nC - number of
cladogenetic species, present - number of independent colonisations present
)
$stt_stt_type1
- STT table for type 1 species on the island -
only if 2 types of species were simulated (nI - number of non-endemic
species; nA - number of anagenetic species, nC - number of cladogenetic
species, present - number of independent colonisations present )
$stt_stt_type2
- STT table for type 2 species on the island - only if
2 types of species were simulated (nI - number of non-endemic species; nA -
number of anagenetic species, nC - number of cladogenetic species, present -
number of independent colonisations present )
$brts_table
- Only
for simulations under 'IW'. Table containing information on order of events
in the data, for use in maximum likelihood optimization.)
The subsequent elements of the list each contain information on a single
colonist lineage on the island and has 4 components:
$branching_times
- island age and stem age of the population/species
in the case of Non-endemic, Non-endemic_MaxAge and Endemic anagenetic
species. For cladogenetic species these should be island age and branching
times of the radiation including the stem age of the radiation.
$stac
- the status of the colonist
* Non_endemic_MaxAge: 1
*
ndemic: 2
* Endemic&Non_Endemic: 3
* Non_endemic: 4
$missing_species
- number of island species that were not sampled for
particular clade (only applicable for endemic clades)
$type_1or2
- whether the colonist belongs to type 1 or type 2
Luis Valente and Albert Phillimore
Valente, L.M., A.B. Phillimore and R.S. Etienne (2015). Equilibrium and non-equilibrium dynamics simultaneously operate in the Galapagos islands. Ecology Letters 18: 844-852. Hauffe, T., D. Delicado, R.S. Etienne and L. Valente (submitted). Lake expansion increases equilibrium diversity via the target effect of island biogeography.
DAISIE_format_CS
DAISIE_plot_sims
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | cat("
## Simulate 40 islands for 4 million years, where all species have equal
## rates, and plot the species-through-time plot. Pool size 1000.
pars_equal = c(2.550687345,2.683454548,Inf,0.00933207,1.010073119)
island_replicates_equal = DAISIE_sim_constant_rate(
time = 4,
M = 1000,
pars = pars_equal,
replicates = 40
)
## Simulate 15 islands for 4 million years with two types of species (type1
## and type 2), and plot the species-through-time plot. Pool size 1000.
## Fraction of type 2 species in source pool is 0.163. Function will
## simulate until number of islands where type 2 species has colonised is
## equal to number specified in replicates.
pars_type1 = c(0.195442017,0.087959583,Inf,0.002247364,0.873605049)
pars_type2 = c(3755.202241,8.909285094,14.99999923,0.002247364,0.873605049)
island_replicates_2types = DAISIE_sim_constant_rate(
time = 4,
M = 1000,
pars = c(pars_type1,pars_type2),
replicates = 15,
prop_type2_pool = 0.163
)
## Simulate a non-oceanic island for 4 million years, and plot the
## species-through-time plot. Pool size 1000. Island area as a proportion
## of mainland is 0.1, proportion of native species is 0.9.
pars = c(2.550687345,2.683454548,Inf,0.00933207,1.010073119)
island_replicates = DAISIE_sim_constant_rate(
time = 4,
M = 1000,
pars = pars,
replicates = 40,
nonoceanic_pars = c(0.1, 0.9)
)
## Simulate 15 islands for 4 million years with a shift in immigration rate
## at 0.195 Ma, and plot the species-through-time plot. Pool size 296.
pars_before_shift = c(0.079, 0.973, Inf, 0.136, 0.413)
pars_after_shift = c(0.079, 0.973, Inf, 0.652, 0.413)
tshift = 0.195
island_shift_replicates = DAISIE_sim_constant_rate_shift(
time = 4,
M = 296,
pars = c(pars_before_shift, pars_after_shift),
replicates = 15,
shift_times = tshift
)
")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.