distinctiveness_alt {funrar} | R Documentation |
Truncated Functional Distinctiveness
Description
Computes functional distinctiveness from a site-species matrix (containing presence-absence or relative abundances) of species with provided functional distance matrix considering only species within a given range in the functional space. Basically species are cutoff when their dissimilarity is above the input threshold. The sites-species matrix should have sites in rows and species in columns, similar to vegan package defaults.
Usage
distinctiveness_alt(pres_matrix, dist_matrix, given_range)
Arguments
pres_matrix |
a site-species matrix (presence-absence or relative abundances), with sites in rows and species in columns |
dist_matrix |
a species functional distance matrix |
given_range |
a numeric indicating the dissimilarity range at which the the other species are considered maximally dissimilar |
Details
The Functional Distinctiveness of a species is the average functional distance from a species to all the other in the given community. It is computed as such:
D_i(T) = \frac{
\sum\limits_{j = 1 ~,j \neq i ~}^S
\left[ \frac{d_{ij}}{T} + \theta(d_{ij} - T)
\left(1 - \frac{d_{ij}}{T} \right) \right]
}{
S - 1
}
with D_i
the functional distinctiveness of species i
, N
the total number of species in the community and d_{ij}
the
functional distance between species i
and species j
. T
is the chosen maximal range considered. The function
\theta(d_ij - T)
is an indicator function that returns 1 when
d_{ij} \geq T
and 0 when d_{ij} < T
.
IMPORTANT NOTE: in order to get functional rarity indices between 0
and 1, the distance metric has to be scaled between 0 and 1.
Value
a similar matrix from provided pres_matrix
with Distinctiveness
values in lieu of presences or relative abundances, species absent from
communities will have an NA
value (see Note
section)
Note
Absent species should be coded by 0
or NA
in input matrices.
When a species is alone in its community the functional distinctiveness
cannot be computed (denominator = 0 in formula), and its value is assigned
as NaN
.
For speed and memory efficiency sparse matrices can be used as input of
the function using as(pres_matrix, "dgCMatrix")
from the
Matrix
package.
(see vignette("sparse_matrices", package = "funrar")
)