landgame: Build a Metacommunity from scratch.

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

Description

Function defines a Metacommunity as a network of local communities. Each local community follows its own dynamics, plants may immigrate to the local community, and at birth, they may evolve to a new species.

Usage

1
2
3
4
5
6
7
landgame(land, D, m, theta)
makeland(nrow, ncol, J)
mutate(genes)
## S3 method for class 'landscape'
plot(x,main, ...)
## S3 method for class 'landscape'
as.matrix(x, ...)

Arguments

land, x

Object of class ‘landscape’, giving the co-ordinates local communities and identities of each J plants of the local community.

D

Number of plants killed in a local community per timestep.

m

Probability of immigration from neighbouring local communities.

theta

Hubbell's fundamental biodiversity number θ.

nrow

Number of rows of local communities in a Metacommunity.

ncol

Number of columns of local communities in a Metacommunity.

J

Size of each local community.

genes

Genes defining the species, as a hexidecimal RGB colour.

main

Main title for the plot.

...

Other parameters to the function.

Details

Hubbell's Metacommunity game builds a metacommunity from scratch. Metacommunity consists of nrow rows and ncol columns of local communities, each with J plants. Function makeland creates a one-species Metacommunity. The steps of one run are:

  1. Kill D individuals in each local community.

  2. Fill the vacated slots with immigrants from immediate siding neighbours at probability m. The species identities of the immigrants are randomly chosen from the surrounding species pool.

  3. Fill the remaining free slots with offspring of the remaining local community, again using probabilities proportional to post-disturbance abundances.

  4. Mutate new D individuals to a different species at the probability ν derived from the Ultimate Diversity θ and Metacommunity size J_M: ν = θ/(2J_M). Species are identified by RGB colours, and function mutate changes one of the RGB components into a random value, without checking whether the value really changed from the old one, or whether this species already exists.

Function plot does not plot the Original Species, or the species with identity #FFFFFF, and other species are displayed by their colour. For better visibility, it may be better to use grey background (see bg in par); grey species are late in evolution.

Function as.matrix returns the landgame result as an ordinary community data matrix where values are counts of species in local communities. The species are named after their rgb colour codes.

Value

Function returns an object of class landscape, which is simply a three dimensional array.

Note

Unlike Hubbell's original program, this function uses a torus landscape so that opposite margins join. In this way it is possible to avoid edge effects and whole landscape can be inspected without buffer zone.

The function is slow for large problems. For instance, Hubbell analysed a landscape of 101 \times 101 local communities, each with J=16 and run 100,000 time steps. With my crummy, old laptop (i586, 233MHz) this would take 19 days with isolated communities (m=0.005) and 38 days with open communities (m=0.5).

Author(s)

Jari Oksanen

References

Hubbell, S.P. (2001). The Unified Neutral Theory of Biodiversity and Biogeography. Princeton Univ. Press.

See Also

hubbell.

Examples

1
2
3
4
5
6
7
8
land <- makeland(21, 21, 16)
land
op <- par(bg="gray")
plot(land)
for (t in 1:20) land <- landgame(land, D=4, m=0.2, theta=14)
land
plot(land)
par(op)

hubbell documentation built on May 2, 2019, 5:40 p.m.

Related to landgame in hubbell...