beals(x, species = NA, reference = x, type = 0, include = TRUE)
swan(x, maxit = Inf)
NA
) indicates that the function will be computed for all species.x
is used as reference to
compute the joint occurrences.beals
. See details for more explanation.include=TRUE
,
while the formulation of Münzbergová and Herben is
equal to include=FALSE
.Inf
means that iterations are continued until there are no zeros or
the number of zeros does not change. Probably only
maxit = 1
makes sense in addition to the default. Beals smoothing is the estimated probability $p[ij]$ that
species $j$ occurs at site $i$. It is defined as $p[ij] = 1/S[i]
Sum(k) N[jk] I[ik] / N[k]$, where $S[i]$ is the number of
species at site $i$, $N[jk]$ is the number of joint
occurrences of species $j$ and $k$, $N[k]$ is the
number of occurrences of species $k$, and $I$ is the incidence
(0 or 1) of species (this last term is usually omitted from the
equation, but it is necessary). As $N[jk]$ can be
interpreted as a mean of conditional probability, the beals
function can be interpreted as a mean of conditioned probabilities (De
Cáceres & Legendre 2008). The present function is
generalized to abundance values (De Cáceres & Legendre
2008).
The type
argument specifies if and how abundance values have to be
used. type = 0
presence/absence mode. type = 1
abundances in reference
(or x
) are used to compute
conditioned probabilities. type = 2
abundances in x
are
used to compute weighted averages of conditioned
probabilities. type = 3
abundances are used to compute both
conditioned probabilities and weighted averages.
Beals smoothing was originally suggested as a method of data
transformation to remove excessive zeros (Beals 1984, McCune 1994).
However, it is not a suitable method for this purpose since it does
not maintain the information on species presences: a species may have
a higher probability of occurrence at a site where it does not occur
than at sites where it occurs. Moreover, it regularizes data too
strongly. The method may be useful in identifying species that belong
to the species pool (Ewald 2002) or to identify suitable unoccupied
patches in metapopulation analysis (Münzbergová &
Herben 2004). In this case, the function should be called with
include=FALSE
for cross-validation smoothing for species;
argument species
can be used if only one species is studied.
Swan (1970) suggested replacing zero values with degrees of absence of
a species in a community data matrix. Swan expressed the method in
terms of a similarity matrix, but it is equivalent to applying Beals
smoothing to zero values, at each step shifting the smallest initially
non-zero item to value one, and repeating this so many times that
there are no zeros left in the data. This is actually very similar to
extended dissimilarities (implemented in function
stepacross
), but very rarely used.
De Cáceres, M. & Legendre, P. 2008. Beals smoothing revisited. Oecologia 156: 657--669.
Ewald, J. 2002. A probabilistic approach to estimating species pools from large compositional matrices. J. Veg. Sci. 13: 191--198.
McCune, B. 1994. Improving community ordination with the Beals smoothing function. Ecoscience 1: 82--86.
Münzbergová, Z. & Herben, T. 2004. Identification of suitable unoccupied habitats in metapopulation studies using co-occurrence of species. Oikos 105: 408--414.
Swan, J.M.A. 1970. An examination of some ordination problems by use of simulated vegetational data. Ecology 51: 89--102.
decostand
for proper standardization methods,
specpool
for an attempt to assess the size of species
pool. Function indpower
assesses the power of each species
to estimate the probabilities predicted by beals
. data(dune)
## Default
x <- beals(dune)
## Remove target species
x <- beals(dune, include = FALSE)
## Smoothed values against presence or absence of species
pa <- decostand(dune, "pa")
boxplot(as.vector(x) ~ unlist(pa), xlab="Presence", ylab="Beals")
## Remove the bias of tarbet species: Yields lower values.
beals(dune, type =3, include = FALSE)
## Uses abundance information.
## Vector with beals smoothing values corresponding to the first species
## in dune.
beals(dune, species=1, include=TRUE)
Run the code above in your browser using DataLab