Calculates taxonomic distances between species.
tax2dist(lookup, tax_distance, precompute_dist = TRUE)
data.frame
with colnames corresponding to nested
taxonomic levels, e.g. c('Species', 'Genus', 'Family', 'Subclass')
vector
with the distances attributed to
taxonomic levels defined in lookup
. The highest distance is the
distance attributed to species that are not the same at any recorded
taxonomic level. e.g. c(Species = 0, Genus = 1, Family = 2, Subclass = 3,
Other = 4) from Shimatani.
object of class logical
or numeric
.
When TRUE (by default) a distance matrix is generated and stored in slot
distance
, when FALSE no distance matrix is generated, and when numeric
a distance matrix is generated until the number of species exceeds the
defined value.
tax2dist()
returns an object of class distance
containing a matrix
of pairwise taxonomic distances
Shimatani, K. 2001. On the measurement of species diversity incorporating species differences. Oikos 93:135–147.
# Create Lookup table
Species <- c("tenuifolium", "asterolepis", "simplex var.grandiflora", "simplex var.ochnacea")
Genus <- c("Protium", "Quararibea", "Swartzia", "Swartzia")
Family <- c("Burseraceae", "Bombacaceae", "Fabaceae", "Fabaceae")
Subclass <- c("Sapindales", "Malvales", "Fabales", "Fabales")
lookup <- cbind.data.frame(Species, Genus, Family, Subclass)
# Assign values for each level (Shimatani's taxonomic distance)
tax_distance <- c(Species = 0, Genus = 1, Family = 2, Subclass = 3, Other = 4)
# Generate pairwise distances
distance <- tax2dist(lookup, tax_distance)
similarity <- dist2sim(distance, "linear")