Computes geographical restrictedness from a site-species matrix. Geographical restrictedness is an index related to the extent of a species in a given dataset, it is close to 1 when the species is present in only a single site of the dataset (restricted) and close to 0 when the species is present at all sites. It estimates the geographical extent of a species in a dataset. See Details section to have details on the formula used for the computation. The sites-species matrix should have sites in rows and species in columns, similar to vegan package defaults.

restrictedness(pres_matrix, relative = FALSE)



a site-species matrix, with species in rows and sites in columns, containing presence-absence, relative abundances or abundances values


a logical (default = FALSE), indicating if restrictedness should be computed relative to restrictedness from a species occupying a single site


A stacked data.frame containing species' names and their restrictedness value in the Ri column, similar to what uniqueness() returns.


Geographical Restrictedness aims to measure the regional extent of a species in funrar it is computed the simplest way possible: a ratio of the number of sites where a species is present over the total number of sites in the dataset. We take this ratio off 1 to have a index between 0 and 1 that represents how restricted a species is: $$ R_i = 1 - \frac{N_i}{N_tot}, $$ where \(R_i\) is the geographical restrictedness value, \(N_i\) the total number of sites where species \(i\) occur and \(N_tot\) the total number of sites in the dataset. When relative = TRUE, restrictedness is computed relatively to the restrictedness of a species present in a single site: $$ R_i = \frac{R_i}{R_one} $$ $$ R_i = \frac{1 - \frac{K_i}{K_tot}}{1 - \frac{1}{K_tot}} $$ $$ R_i = \frac{K_tot - K_i}{K_tot - 1} $$ Other approaches can be used to measure the geographical extent (convex hulls, occupancy models, etc.) but for the sake of simplicity only the counting method is implemented in funrar.


data("aravo", package = "ade4")
# Site-species matrix
mat = as.matrix(aravo$spe)
ri = restrictedness(mat)
#>     species        Ri
#> 1 Agro.rupe 0.6133333
#> 2 Alop.alpi 0.5066667
#> 3 Anth.nipp 0.7733333
#> 4 Heli.sede 0.9466667
#> 5 Aven.vers 0.8000000
#> 6 Care.rosa 0.6266667