get_null_comm | R Documentation |
Three null models are implemented that randomize different components of community structure while keeping other components constant.
get_null_comm(comm, null_model, groups = NULL)
comm |
community matrix of abundances with plots as rows and species columns. |
null_model |
a string which specifies which null model to use options
include: |
groups |
optional argument that is a vector of group ids which specify
which group each site is associated with. If is |
This function implements three different nested null models. They are considered nested because at the core of each null model is the random sampling with replacement of the relative abundance distribution (RAD) to generate a random sample of a species abundance distribution (SAD). Here we describe each null model:
'rand_SAD'
... A random SAD is generated using a sample with
replacement of individuals from the species pool proportional to their
observed relative abundance. This null model will produce an SAD that is
of a similar functional form to the observed SAD (Green and Plotkin 2007).
The total abundance of the random SAD is the same as the observed SAD but
overall species richness will be equal to or less than the observed SAD.
This algorithm ignores the group
argument. This sampling algorithm
is also used in the two other null models 'rand_N'
and
'rand_agg'
.
'rand_N'
... The total number of individuals in a plot is
shuffled across all plots (within and between groups). Then for each plot
that many individuals are drawn randomly from the group specific relative
abundance distribution with replacement for each plot (i.e., using the
'rand_SAD'
algorithm described above. This removes group
differences in the total number of individuals in a given plot, but
maintains group level differences in their SADs.
'rand_agg'
... This null model nullifies the spatial
structure of individuals (i.e., their aggregation), but it is constrained
by the observed total number of individuals in each plot (in contrast to
the 'rand_N'
null model), and the group specific SAD (in contrast
to the 'rand_SAD'
null model). The other two null models also
nullify spatial structure. The 'rand_agg'
null model is identical
to the 'rand_N'
null model except that plot abundances are not
shuffled.
Replaces depreciated function 'permute_comm'
a site-by-species matrix
Green, J. L., and J. B. Plotkin. 2007. A statistical theory for sampling species abundances. Ecology Letters 10:1037-1045.
S = 3
N = 20
nplots = 4
comm = matrix(rpois(S * nplots, 1), ncol = S, nrow = nplots)
comm
groups = rep(1:2, each=2)
groups
set.seed(1)
get_null_comm(comm, 'rand_SAD')
# null model 'rand_SAD' ignores groups argument
set.seed(1)
get_null_comm(comm, 'rand_SAD', groups)
set.seed(1)
get_null_comm(comm, 'rand_N')
# null model 'rand_N' does not ignore the groups argument
set.seed(1)
get_null_comm(comm, 'rand_N', groups)
# note that the 'rand_agg' null model is constrained by observed plot abundances
noagg = get_null_comm(comm, 'rand_agg', groups)
noagg
rowSums(comm)
rowSums(noagg)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.