Skip to contents

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.

Usage

reconcile(x, backbone = NULL, ..., verbose = TRUE)

Arguments

x

Character vector of names (a checklist).

backbone

Character vector of backbone names or a taxify_backend object, passed to taxify(). NULL (default) uses every installed backbone.

...

Further arguments passed to taxify() (e.g. fuzzy, fuzzy_threshold, kingdom).

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 (NA if unresolved).

status

One of: "unchanged" (resolves to itself, still accepted), "synonym" (now a synonym of a different accepted name), "misspelling" (resolved by fuzzy/abbrev match to a corrected spelling), "ambiguous" (a homonym resolving to several accepted taxa; see taxify_candidates()), "unresolved" (no match).

is_synonym

Logical, from taxify().

match_type

The taxify() match type.

merged

Logical. TRUE when 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, or NA.

backbone

Backend that matched (NA if unresolved).

See also

taxify(), taxify_candidates() 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)