DAISIE_sim: Simulate islands with given parameters.

Description Usage Arguments Value Author(s) References See Also Examples

View source: R/DAISIE_sim.R

Description

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.

Returns R list object that contains the simulated islands.

Usage

1
2
3
4
5
6
DAISIE_sim(time, M, pars, replicates, mainland_params = NULL,
  divdepmodel = "CS", island_type = "oceanic", nonoceanic = NULL,
  prop_type2_pool = NA, replicates_apply_type2 = TRUE,
  sample_freq = 25, plot_sims = TRUE, island_ontogeny = "const",
  Tpars = NULL, Apars = NULL, Epars = NULL,
  keep_final_state = FALSE, stored_data = NULL, verbose = TRUE, ...)

Arguments

time

Length of the simulation in time units. For example, if an island is know to be 4 million years old, setting time = 4 will simulate entire life span of the island; setting time = 2 will stop the simulation at the mid-life of the island.

M

The size of the mainland pool, i.e the number of species that can potentially colonize the island

pars

Contains the model parameters:

pars[1] corresponds to lambda^c (cladogenesis rate)
pars[2] corresponds to mu (extinction rate)
pars[3] corresponds to K (clade-level carrying capacity). Set K=Inf for non-diversity dependence.
pars[4] corresponds to gamma (immigration rate)
pars[5] corresponds to lambda^a (anagenesis rate)
pars[6] corresponds to lambda^c (cladogenesis rate) for type 2 species
pars[7] corresponds to mu (extinction rate) for type 2 species
pars[8] corresponds to K (clade-level carrying capacity) for type 2 species. Set K=Inf for non-diversity dependence.
pars[9] corresponds to gamma (immigration rate) for type 2 species
pars[10] corresponds to lambda^a (anagenesis rate) for type 2 species
The elements 6:10 are optional and are required only when type 2 species are included.

replicates

Number of island replicates to be simulated.

mainland_params

parameters for simulation mainland processes. If NULL, the mainland is assumed to be static, following the assumptions of Valente et al., 2016. Else the parameters can be created by DAISIE_create_mainland_params

divdepmodel

Option divdepmodel='CS' runs 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 model with island-wide carrying capacity, where diversity-dependence operates within and among clades.

island_type

Option island_type = 'oceanic' is a model equal to Valente et al., 2015. island_type = 'nonoceanic' is a nonoceanic model where initial species richness is non-zero determined by the nonoceanic parameters.

nonoceanic

A vector of length three with: the island area as a proportion of the mainland, the probability of native species being nonendemic and the size of the mainland pool.

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).

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 achieve 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

Specifies the number of units time 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.

island_ontogeny

a string describing the type of island ontogeny. Can be "const", "beta" for a beta function describing area through time, or "linear" for a linear function

Tpars

A named list containing diversification rates considering two trait states:

  • [1]:A numeric with the per capita transition rate with state1

  • [2]:A numeric with the per capita immigration rate with state2

  • [3]:A numeric with the per capita extinction rate with state2

  • [4]:A numeric with the per capita anagenesis rate with state2

  • [5]:A numeric with the per capita cladogenesis rate with state2

  • [6]:A numeric with the per capita transition rate with state2

  • [7]:A carrying capacity with trait state 2 on mainland

  • [8]:A numeric with the number of species with trait state 2 on mainland

Apars

A numeric vector:

  • [1]: maximum area

  • [2]: value from 0 to 1 indicating where in the island's history the peak area is achieved

  • [3]: sharpness of peak

  • [4]: total island age

Epars

a numeric vector:

  • [1]: minimum extinction when area is at peak

  • [2]: extinction rate when current area is 0.10 of maximum area

keep_final_state

logical indicating if final state of simulation should be returned. Default is FALSE

stored_data

output of DAISIE_sim function when run with keep_final_state. If not NULL

verbose

Default=TRUE Give intermediate output, also if everything goes OK.

...

Any arguments to pass on to plotting functions.

Value

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 1st replicate can be called using island_replicates[[1]] Each of the island 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
* Endemic: 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

Author(s)

Luis Valente and Albert Phillimore

References

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.

See Also

DAISIE_format_CS DAISIE_plot_sims

Examples

 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
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(
   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(
   time = 4,
   M = 1000,
   pars = c(pars_type1,pars_type2),
   replicates = 15,
   prop_type2_pool = 0.163
   )
")

xieshu95/Trait_dependent_TraiSIE documentation built on Nov. 22, 2019, 7:51 a.m.