beals {vegan}R Documentation

Beals Smoothing and Degree of Absence


Beals smoothing replaces each entry in the community data with a probability of target species occurring in that particular site, based on the joint occurrences of target species with the species that actually occur in the site. Swan's (1970) degree of absence applies Beals smoothing to zero items so long that all zeros are replaced with smoothed values.


beals(x, species = NA, reference = x, type = 0, include = TRUE)


x Community data frame or matrix.
species Column index used to compute Beals function for a single species. The default (NA) indicates that the function will be computed for all species.
reference Community data frame or matrix to be used to compute joint occurrences. By default, x is used as reference to compute the joint occurrences.
type Numeric. For function beals it specifies if and how abundance values have to be used. See details for more explanation.
include This logical flag indicates whether the target species has to be included when computing the mean of the conditioned probabilities. The original Beals (1984) definition is equivalent to include=TRUE, while the formulation of Münzbergová and Herben is equal to include=FALSE.


Beals smoothing is the estimated probability p[ij] that species j occurs in 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 on 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 current 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 average of conditioned probabilities. type = 3 abundances are used to compute both conditioned probabilities and the weighted average.

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 in a site where it does not occur than in 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-validatory smoothing for species, and argument species can be used if only one species was 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.


The function returns a transformed data matrix or a vector in case of asking Beals smoothing for a single species.


Miquel De Cáceres and Jari Oksanen


Beals, E.W. 1984. Bray-Curtis-ordination: an effective strategy for analysis of multivariate ecological data. Adv. Ecol. Res. 14: 1–55.

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.

See Also

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.


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

[Package vegan version 1.16-32 Index]