Calculates the fraction of the maximum distance between species occurrences, which can be used as a proxy of species dispersal ability. This fraction can be used as the radius needed to apply the circular buffer method (Rivers et al 2010) to obtain subpopulations for conservation assessments of extinction risk.

subpop.radius(
  XY,
  factor.div = 10,
  quant.max = 1,
  mode = "spheroid",
  proj_type = "cea"
)

Arguments

XY

a data.frame. containing the geographical coordinates for each taxon.

factor.div

numeric. denominator value used to obtain the fraction of the maximum distance. Default to 10.

quant.max

numeric. The upper-quantile of the inter-point distance to be considered as a threshold of maximum distance. Can vary between 0 and 1. Default to 1.

mode

character string either 'spheroid' or 'planar'. By default 'spheroid'

proj_type

string or numeric

Value

The estimated radius in kilometres for each taxon.

Details

XY as a data.frame should have the following structure:

It is mandatory to respect field positions, but field names do not matter

  1. The first column is contains numeric value i.e. latitude in decimal degrees

  2. The second column is contains numeric value i.e. longitude in decimal degrees

  3. The third column is contains character value i.e. the names of the species

References

Rivers MC, Bachman SP, Meagher TR, Lughadha EN, Brummitt NA (2010) Subpopulations, locations and fragmentation: applying IUCN red list criteria to herbarium specimen data. Biodiversity and Conservation 19: 2071-2085. doi: 10.1007/s10531-010-9826-9

Author

Renato A. Ferreira de Lima & Gilles Dauby

Examples


mydf <- data.frame(ddlat = c(-44.6,-46.2,-45.4,-42.2,-43.7,-45.0,-28.0),
                   ddlon = c(-42.2,-42.6,-45.3,-42.5,-42.3,-39.0,-17.2),
                   tax = rep("a", 7),
                   stringsAsFactors = FALSE)
                   
subpop.radius(mydf)
#>   tax  radius
#> 1   a 313.759
subpop.radius(mydf, quant.max = 0.95)
#>   tax  radius
#> 1   a 300.379
subpop.radius(mydf, factor.div = 15)
#>   tax  radius
#> 1   a 209.173