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 distancecontaining 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")