Learn R Programming

metacoder (version 0.3.7)

hierarchy: The Hierarchy class

Description

A class containing an ordered list of [taxon()] objects that represent a hierarchical classification.

Usage

hierarchy(..., .list = NULL)

Value

An `R6Class` object of class `Hierarchy`

Arguments

...

Any number of object of class `Taxon` or taxonomic names as character strings

.list

An alternate to the `...` input. Any number of object of class [taxon()] or character vectors in a list. Cannot be used with `...`.

Details

On initialization, taxa are sorted if they have ranks with a known order.

**Methods**

`pop(rank_names)`

Remove `Taxon` elements by rank name, taxon name or taxon ID. The change happens in place, so you don't need to assign output to a new object. returns self - rank_names (character) a vector of rank names

`pick(rank_names)`

Select `Taxon` elements by rank name, taxon name or taxon ID. The change happens in place, so you don't need to assign output to a new object. returns self - rank_names (character) a vector of rank names

See Also

Other classes: hierarchies(), taxa(), taxmap(), taxon(), taxon_database(), taxon_id(), taxon_name(), taxon_rank(), taxonomy()

Examples

Run this code
(x <- taxon(
  name = taxon_name("Poaceae"),
  rank = taxon_rank("family"),
  id = taxon_id(4479)
))

(y <- taxon(
  name = taxon_name("Poa"),
  rank = taxon_rank("genus"),
  id = taxon_id(4544)
))

(z <- taxon(
  name = taxon_name("Poa annua"),
  rank = taxon_rank("species"),
  id = taxon_id(93036)
))

(res <- hierarchy(z, y, x))

res$taxa
res$ranklist

# null taxa
x <- taxon(NULL)
(res <- hierarchy(x, x, x))
## similar to hierarchy(), but `taxa` slot is not empty

Run the code above in your browser using DataLab