Skip to content


Repository files navigation


This article is about taxonomy in R.

If you have any comments or suggestions for additions or improvements for this article submit an issue , or make some changes and submit a pull request . If you have an issue with one of the packages discussed below, please contact the maintainer of that package.

Taxonomic Data

The following packages mostly deal with getting taxonomic data from the web onto your machine.

  • taxize access to 20ish sources of taxonomic data sources. This is the place to go for most taxononomic data. taxize connects to a lot of data sources, and has consistent data outputs across the data sources. In addition, there’s operations that a user wants to do that are consistent across data sources, hiding the gory details of each data source. The only caveat is that if you have a really slow internet connection or you are dealing with A LOT of names, then you may want to use taxizedb.
  • taxizedb came out of the taxize package, with sights set on helping people work with larger taxonomic data sets, or that perhaps have infrequent access to the internet. taxizedb downloads taxonomic database dumps from many different providers - and makes it easy to either query them with SQL or plug into dplyr package to use that interface. taxizedb is starting to gain some of the functionality of taxize (e.g., get a taxonomic classification) but without having to do web requests, and doing large set of them much faster.
  • ritis is a client for the Integrated Taxonomic Information System (ITIS) database of taxonomic data. ITIS is run by USGS in the US. It provides access to ITIS’s Solr web service (think for search), as well as their REST API more for fetching data for specific things by name or taxonomic ID.
  • wikitaxa is a client for Wikipedia, Wikicommons, Wikspecies, and Wikidata taxonomic data. It is sometimes a bit odd since there is no interface specifically for taxonomic data besides Wikispecies, so you can end up with results that are not really taxonomic as well - but we do our best.
  • worrms client for the WoRMS (World Register of Marine Species) API. Contains mostly taxonomic data, but also trait data.
  • Taxonstand data from The Plant List. This package takes in plant taxon names, and downloads CSV files from The Plant List website, then presents those as a data.frame within R.

Taxonomic Classes

The taxa package defines a set of taxonomic objects (using S3 and R6) for both use cases where only taxonomic data is of interest, as well as when one has taxonomic data combined with other data on the taxa. taxa aims to form the basis upon which other taxonomic packages can be built, using common classes.

Manipulating/Parsing Taxonomic Names

The following packages don’t fetch taxonomic dat as those in the above section, but are focused around providing tooling around taxonomic names and data.

  • rgnparser is a thin client for the Go based library gnparser from the GlobalNamesArchitecture project, which uses a Parsing Expression Grammar (PEG) to parse taxonomic names very quickly.
  • metacoder specializes in metabarcoding. It can parse, manipulate, and visualize metabarcoding/taxonomic data. It leverages the taxa package ( GitHub )
  • taxview is a in development package to help users summarize taxonomic data. Summarizing so far is taking form of getting taxonomic hierarchy data (via the taxize package) to facilitate taxonomic summaries. Visualization isn’t done yet.

Handling Taxonomic Name Lists

There are a few packages that deal specifically with handling species lists:

  • splister - match species list against a reference list. Still in development

NCBI data

  • NCBI taxonomic data is available from a number of R packages. taxizedb provides access to local version of NCBI’s taxonomy - in addition to taxonomies for other data sources (see above). ncbit makes NCBI taxonomic data locally available and searchable as an R object (a data.frame). The package comes with a version from 2013, but you can choose to update it; although updating it still seemed to use the old version from 2013. taxonomizr contains functions for assigning taxonomy to NCBI accession numbers and taxon IDs based on NCBI’s accession2taxid and taxdump files.
  • microclass has functions for assigning 16S sequence data to a taxonomic level in the tree-of-life for prokaryotes.

Specialized packages

  • monographaR functions to facilitate the production of plant taxonomic monographs
  • taxlist has functions to import species lists from Turboveg , a database management system for vegetation data
  • vegdata has functions to get taxonomic data from Turboveg , and VegetWeb (German plant data)

CRAN packages:

Related links: