This function computes Functional Divergence (FDiv) following Villéger et al.
(2008). NB: when a site contains no species FDiv is equal to 0. If for a site
there are less traits than species, then FDiv is equal to NaN
.
Arguments
- traits
Trait matrix with species as rows and traits as columns. It has to contain exclusively numerical values. This can be either a
matrix
, adata.frame
, or aMatrix::Matrix()
object.- sp_com
Site-species matrix with sites as rows and species as columns if not provided, the function considers all species with equal abundance in a single site. This can be either a
matrix
, adata.frame
, or aMatrix::Matrix()
object.
Value
a data.frame with two columns:
site
the names of the sites as the row names of the inputsp_com
,FDiv
the values of functional divergence at each site.
If the sp_com
argument is not provided or if sp_com
doesn't have rownames,
arbitrary rownames s1
, s2
, s3
, etc. will be used.
NB: when a site contains no species FDiv is equal to 0. If for a site
there are less traits than species, then FDiv is equal to NaN
.
Details
By default, when loading fundiversity, the functions to
compute convex hulls are
memoised through the memoise
package if it is installed (their results are cached to avoid recomputing the
same functional volume twice). To deactivate this behavior you can set the
option fundiversity.memoise
to FALSE
by running the following line:
options(fundiversity.memoise = FALSE)
. If you use it interactively it will
only affect your current session. Add it to your script(s) or .Rprofile
file to avoid toggling it each time. By changing the option, the behavior
will automatically change the next time you run the function. Note:
memoisation is only available when the memoise
package has been installed
and without parallelization, otherwise fundiversity
will use unmemoised
versions of the functions. In other words, memoization and parallelization
are mutually exclusive.
Parallelization
The computation of this function can be parallelized thanks to
future::plan()
. To get more information on how to parallelize your
computation please refer to the parallelization vignette with:
vignette("fundiversity_1-parallel", package = "fundiversity")
.
References
Villéger S., Mason N. W. H., Mouillot D. (2008), New multidimensional functional diversity indices for a multifaceted framework in functional ecology, Ecology 89(8), doi:10.1890/07-1206.1
Examples
data(traits_birds)
fd_fdiv(traits_birds)
#> site FDiv
#> 1 s1 0.7282172