species: Species

speciesR Documentation

Species

Description

Aquatic species and taxonomic groups, defined by FAO (2025).

Usage

species

Format

Data frame containing ten columns:

species species code
species_name species name
scientific scientific name
isscaap ISSCAAP group
major major taxa
cpc_class CPC class
cpc_group CPC group
yearbook yearbook category
author author of scientific name
taxonomic taxonomic code

Details

This data frame contains the full set of 13,596 data records from the FishStat Species Groups data table. Column names have been simplified to facilitate quick exploration and plotting in R.

Source

FAO (2025). Global Production. Fisheries and Aquaculture Division. Rome.

https://www.fao.org/fishery/en/collection/global_production

See Also

aquaculture and capture data are also available in a combined production format.

area, country, environment, measure, source, species, and status are lookup tables.

fishstat-package gives an overview of the package.

Examples

head(species, 3)

# Select species entries that have non-zero production
nonzero <- unique(production$species[production$value > 0])
species.nz <- species[species$species %in% nonzero,]
length(species.nz$species)

# Only species, scientific, major, and taxonomic are always defined
cbind(sapply(species, function(x) all(x != "")))

# Plus isscaap and yearbook for non-zero production
cbind(sapply(species.nz, function(x) all(x != "")))

# A variety of species are missing species_name, cpc_class, cpc_group
cbind(table(species.nz$major[species.nz$species_name == ""]))
cbind(table(species.nz$major[species.nz$cpc_class == ""]))
cbind(table(species.nz$major[species.nz$cpc_group == ""]))

# Number of species entries that have non-zero production by major taxa
cbind(table(species.nz$major))

# By yearbook categories and major taxa
table(species.nz$major, species.nz$yearbook)

# Number of unique yearbook categories, major taxa, isscaap groups, etc.
cbind(sapply(species.nz, function(x) length(unique(x))))

# The scientific and species_name entries are not unique
table(species.nz$scientific)[table(species.nz$scientific) > 1]
table(species.nz$species_name)[table(species.nz$species_name) > 1]

# Examine one species
print.simple.list(species[species$species_name == "Atlantic cod",])
print.simple.list(species[species$species == "YFT",])

# English name when available, otherwise scientific name (FishStatJ style)
species$species_alt <- ifelse(species$species_name != "",
                              species$species_name,
                              paste0("[", species$scientific, "]"))
species[grep("Hoplias", species$scientific),
        c("species_name", "scientific", "species_alt")]

fishstat documentation built on June 17, 2025, 9:08 a.m.