Classifies each name in a list against what a backbone currently accepts, so a
checklist assembled at one time can be checked against the taxonomy as it
stands now. Where taxify() returns the resolved match per name,
reconcile() adds the editorial verdict – unchanged, now a synonym, a
misspelling, ambiguous, or unresolved – and flags names that merge onto a
single accepted taxon.
Arguments
- x
Character vector of names (a checklist).
- backbone
Character vector of backbone names or a
taxify_backendobject, passed totaxify().NULL(default) uses every installed backbone.- ...
Matching arguments passed to
taxify()(e.g.fuzzy,fuzzy_threshold,kingdom,region). Must be named.- verbose
Logical. Default
TRUE.
Value
A data.frame with one row per input name, columns:
- input_name
The name as supplied.
- accepted_name
The name it resolves to now (
NAif unresolved).- status
One of:
"unchanged"(resolves to itself, still accepted),"synonym"(now a synonym of a different accepted name, including a name the backbone keeps unplaced but resolves through its basionym),"misspelling"(resolved by fuzzy/abbrev match to a corrected spelling),"rank_fallback"(an infraspecific name the backbone does not carry;accepted_nameis the accepted name of its species),"ambiguous"(a name the backbone files under several accepted taxa,n_ids > 1, that does not resolve to itself as accepted;accepted_nameis the one it picked, andtaxify_ids()lists the others),"unresolved"(no match).- is_synonym
Logical, from
taxify().- match_type
The
taxify()match type.- n_ids
Distinct accepted taxa the backbone files the name under, from
taxify(). Above 1 on an"unchanged"row, the name is accepted under its own spelling and a homonym record also exists.- merged
Logical.
TRUEwhen two or more input names resolve to this same accepted name (a many-to-one collapse).- merged_with
|-joined other input names sharing this accepted name, orNA.- backbone
Backend that matched (
NAif unresolved).
See also
taxify(), taxify_ids() to expand the ambiguous rows,
synonyms().
Examples
# Runs offline against the bundled example database.
old <- options(taxify.data_dir = taxify_example_data())
# Quercus pedunculata is now a synonym of Quercus robur; "Quercus robus" is a
# misspelling of it; a bad name is unresolved.
reconcile(c("Quercus robur", "Quercus pedunculata", "Quercus robus",
"Notagenus imaginus"),
backbone = "wfo", verbose = FALSE)
options(old)