Package {perufaunads004}


Title: Taxonomic Validation and Reconciliation of Threatened Fauna of Peru
Version: 0.1.0
Description: Taxonomic validation and reconciliation of scientific names of threatened and legally protected wildlife species in Peru, based on Supreme Decree No. 004-2014-MINAGRI (MINAGRI, 2014) https://www.midagri.gob.pe/portal/decreto-supremo/ds-2014/10837-decreto-supremo-n-004-2014-minagri and the "Libro Rojo de la Fauna Silvestre Amenazada del Peru" (SERFOR, 2018, ISBN:978-612-46908-2-2). Provides taxonomic name parsing, a hierarchical matching engine (exact, synonym, fuzzy, and genus-level), and structured access to conservation technical sheets.
License: MIT + file LICENSE
URL: https://github.com/PaulESantos/perufaunads004, https://paulesantos.github.io/perufaunads004/
BugReports: https://github.com/PaulESantos/perufaunads004/issues
Depends: R (≥ 4.1.0)
Imports: cli, dplyr (≥ 1.1.0), stringdist (≥ 0.9.8), stringr (≥ 1.5.0), tibble (≥ 3.2.0)
Suggests: ggplot2, knitr, purrr, readxl, rmarkdown, stringi, testthat (≥ 3.0.0), tidyr, writexl
Config/testthat/edition: 3
Encoding: UTF-8
LazyData: true
VignetteBuilder: knitr
Config/roxygen2/version: 8.1.1
NeedsCompilation: no
Packaged: 2026-10-24 03:27:41 UTC; PC
Author: Paul E. Santos Andrade ORCID iD [aut, cre, cph]
Maintainer: Paul E. Santos Andrade <paulefrens@gmail.com>
Repository: CRAN
Date/Publication: 2026-11-07 18:10:07 UTC

Clasificar y descomponer nombres científicos de especies

Description

Descompone nombres científicos de especies de fauna en sus elementos taxonómicos constitutivos: género, epíteto específico, epíteto infraespecífico / subespecie y autoría taxonómica, siguiendo los principios de 'wcvpmatch'.

Usage

ds004_classify_spnames(data, species_col = NULL)

ds004_classify_names(data, species_col = NULL)

Arguments

data

Un vector de caracteres con nombres taxonómicos, o un data.frame / tibble que contenga una columna con nombres.

species_col

Nombre de la columna que contiene los nombres científicos cuando data es un data.frame. Por defecto busca columnas como "scientific_name", "species", "species_name" o toma la primera columna.

Value

Un tibble con las siguientes columnas:

submitted_name

El nombre tal como fue ingresado originalmente.

clean_name

El nombre científico limpio (género + epíteto específico [+ subespecie]).

genus

El género taxonómico con mayúscula inicial.

species

El epíteto específico en minúsculas.

subspecies

El epíteto de subespecie (o NA_character_ si no aplica).

authorship

La autoría y año taxonómico detectado (o NA_character_).

Examples

# A partir de un vector de nombres
nombres <- c(
  "Tremarctos ornatus (Cuvier, 1825)",
  "Telmatobius culeus",
  "Lama guanicoe cacsilensis",
  "Vultur gryphus Linnaeus 1758",
  "Puma concolor"
)
ds004_classify_spnames(nombres)

# Integración con pipes tidyverse
library(tibble)
df <- tibble(sp = c("Lagothrix flavicauda", "Inia geoffrensis"))
df |> ds004_classify_spnames(species_col = "sp")


Lista de Fauna Silvestre Legalmente Protegida (DS 004-2014-MINAGRI)

Description

Dataset con las 535 especies de fauna silvestre de Perú categorizadas y legalmente protegidas por el Estado peruano mediante el Decreto Supremo N° 004-2014-MINAGRI, publicado en el diario oficial *El Peruano* el 8 de abril de 2014.

Usage

ds004_fauna

Format

Un tibble con 535 filas y 11 variables:

ds004_id

Identificador correlativo oficial en el DS 004 (1 a 535).

ds004_categoria_codigo

Código de categoría ordenado jerárquicamente (CR, EN, VU, NT, DD).

ds004_categoria

Descripción oficial completa de la categoría de amenaza.

clase

Clase o grupo taxonómico (Anfibios, Aves, Invertebrados, Mamíferos, Reptiles).

genus

Género taxonómico.

species

Epíteto específico.

subspecies

Subespecie (si aplica en la norma).

scientific_name

Nombre científico completo consignado en el decreto.

common_name

Nombre(s) común(es) oficial(es) registrado(s) en la norma.

synonym_scientific_name

Sinónimo(s) científico(s) anotado(s) en el texto legal.

observacion

Notas técnicas sobre subespecies, poblaciones o estatus taxonómico.

Details

La actualización del D.S. N° 004-2014-MINAGRI representó un hito histórico en la legislación ambiental peruana al sustituir el marco del D.S. N° 034-2004-AG. Entre sus principales avances destacan:

Source

Ministerio de Agricultura y Riego (MINAGRI, 2014). Decreto Supremo N° 004-2014-MINAGRI. Diario Oficial El Peruano, 8 de abril de 2014.

See Also

libro_rojo_especies, libro_rojo_fichas, fauna_backbone


Backbone Consolidado de Fauna Amenazada del Perú

Description

Base de datos taxonómica relacional unificada que integra el Decreto Supremo N° 004-2014-MINAGRI y el Libro Rojo de la Fauna Silvestre Amenazada del Perú (SERFOR, 2018).

Usage

fauna_backbone

Format

Un tibble con 536 filas y 16 variables:

scientific_name

Nombre científico aceptado y normalizado.

genus

Género taxonómico.

species

Epíteto específico.

subspecies

Subespecie (si aplica).

clase

Clase o grupo faunístico.

order_name

Orden taxonómico.

family_name

Familia taxonómica.

common_name

Nombre común más representativo.

synonyms

Sinónimos históricos y alternativos consolidados.

in_ds004

Lógico ('TRUE'/'FALSE') indicando presencia en el D.S. N° 004-2014-MINAGRI.

ds004_code

Código en D.S. 004 (CR, EN, VU, NT, DD).

ds004_categoria

Descripción completa de la categoría legal en D.S. 004.

in_libro_rojo

Lógico ('TRUE'/'FALSE') indicando presencia en el Libro Rojo 2018.

libro_rojo_code

Código en Libro Rojo 2018 (CR, EN, VU, NT, DD).

libro_rojo_categoria

Descripción de categoría en Libro Rojo 2018.

has_ficha

Lógico ('TRUE'/'FALSE') indicando si cuenta con ficha técnica monográfica.

Details

Este dataset constituye la columna vertebral (*backbone*) del motor de reconciliación taxonómica 'fauna_matching()'. Permite resolver discrepancias entre ambas listas oficiales:

Source

Compilado y unificado a partir de MINAGRI (2014) y SERFOR (2018).

See Also

fauna_matching, get_ficha, is_threatened


Reconciliación y validación de nombres taxonómicos de fauna silvestre

Description

Compara y valida una lista de nombres de especies de fauna silvestre contra la base oficial de especies amenazadas del Perú (DS 004-2014-MINAGRI y Libro Rojo de la Fauna Silvestre Amenazada del Perú, SERFOR 2018). Aplica un algoritmo de matching escalonado: exacto, sinónimos, difuso (fuzzy) y nivel de género, de forma análoga a wcvpmatch.

Usage

fauna_matching(
  query,
  target_df = NULL,
  species_col = NULL,
  max_distance = 1,
  method = "osa",
  fuzzy = TRUE,
  genus_match = TRUE,
  group = NULL
)

ds004_match(
  query,
  target_df = NULL,
  species_col = NULL,
  max_distance = 1,
  method = "osa",
  fuzzy = TRUE,
  genus_match = TRUE,
  group = NULL
)

Arguments

query

Un vector de caracteres con nombres taxonómicos, o un data.frame / tibble con una columna de nombres.

target_df

Base de datos de referencia. Por defecto es NULL, utilizando el backbone consolidado incluido en el paquete (fauna_backbone).

species_col

Nombre de la columna de nombres si query es un data.frame.

max_distance

Distancia máxima de edición para matching difuso (por defecto 1).

method

Método de distancia de cadenas para stringdist (por defecto "osa").

fuzzy

Lógico. Si es TRUE (por defecto), realiza matching difuso cuando falla el match exacto y por sinónimos.

genus_match

Lógico. Si es TRUE (por defecto), intenta emparejar al nivel de género cuando no se encuentra coincidencia a nivel de especie.

group

Filtro opcional por clase/grupo taxonómico (ej. "Mamíferos", "Aves", "Anfibios", "Reptiles", "Invertebrados").

Value

Un tibble con las siguientes columnas de auditoría y categorización:

submitted_name

Nombre original recibido.

clean_name

Nombre normalizado utilizado para la búsqueda.

matched_name

Nombre científico aceptado en la norma o Libro Rojo.

match_type

Tipo de coincidencia: "exact", "synonym", "fuzzy", "genus", o "no_match".

match_status

Estado: "matched", "ambiguous", o "unmatched".

distance

Distancia de edición calculada (0 para exacto o sinónimo).

similarity

Puntaje de similaridad entre 0 y 1.

clase

Clase o grupo taxonómico (Mamíferos, Aves, etc.).

order_name

Orden taxonómico.

family_name

Familia taxonómica.

common_name

Nombre(s) común(es) registrado(s).

ds004_code

Categoría en DS 004-2014-MINAGRI (CR, EN, VU, NT, DD).

ds004_categoria

Descripción completa de la categoría en DS 004.

libro_rojo_code

Categoría en el Libro Rojo SERFOR 2018.

libro_rojo_categoria

Descripción completa de categoría en Libro Rojo.

has_technical_sheet

Lógico indicando si cuenta con ficha técnica descriptiva.

in_ds004

Lógico indicando si figura en el DS 004-2014-MINAGRI.

in_libro_rojo

Lógico indicando si figura en el Libro Rojo 2018.

Examples


# Validación de nombres exactos, sinónimos y con error tipográfico
nombres <- c(
  "Tremarctos ornatus",
  "Oreonax flavicauda",           # Sinónimo de Lagothrix flavicauda
  "Vultor gryphus",               # Typo para Vultur gryphus
  "Telmatobius culeus",
  "Panthera leo"                  # No amenazada en Perú
)
res <- fauna_matching(nombres)
res[, c("submitted_name", "matched_name", "match_type", "ds004_code", "libro_rojo_code")]



Obtener fichas técnicas del Libro Rojo de la Fauna Silvestre Amenazada

Description

Recupera la información monográfica detallada de las especies amenazadas que cuentan con ficha técnica en el Libro Rojo de la Fauna Silvestre Amenazada del Perú (SERFOR, 2018), incluyendo justificación de categorización, distribución geográfica, principales amenazas, estado de conservación y autores.

Usage

get_ficha(species, print_details = FALSE)

ds004_get_ficha(species, print_details = FALSE)

Arguments

species

Vector de caracteres con uno o más nombres científicos de especies.

print_details

Lógico. Si es TRUE, imprime la ficha formateada en consola utilizando cli. Por defecto es FALSE.

Value

Un tibble con los campos de la ficha técnica:

species_name

Nombre científico completo con autoría original.

canonical_name

Nombre binomial o trinomial normalizado.

common_name

Nombres comunes.

class_name

Clase taxonómica.

order_name

Orden taxonómico.

family_name

Familia taxonómica.

ficha_categoria

Categoría y criterios UICN asignados.

justificacion

Justificación técnica del estado de amenaza.

distribucion

Distribución geográfica, altitudinal y localidades.

amenazas

Principales presiones antrópicas y ambientales.

conservacion

Presencia en Áreas Naturales Protegidas y medidas.

autores

Especialistas autores de la ficha.

Examples


# Recuperar ficha del oso de anteojos
fc <- get_ficha("Tremarctos ornatus")

# Imprimir en formato amigable en consola
get_ficha("Tremarctos ornatus", print_details = TRUE)



Verificar si una especie está categorizada como amenazada

Description

Determina de forma vectorizada si una especie de fauna silvestre está listada bajo alguna categoría de amenaza en el Decreto Supremo N° 004-2014-MINAGRI o en el Libro Rojo de la Fauna Silvestre Amenazada del Perú (2018).

Usage

is_threatened(species, only_threatened = FALSE)

ds004_is_threatened(species, only_threatened = FALSE)

Arguments

species

Vector de caracteres con nombres científicos de especies.

only_threatened

Lógico. Si es TRUE, solo considera amenazadas las categorías UICN de amenaza estricta: En Peligro Crítico (CR), En Peligro (EN) y Vulnerable (VU). Si es FALSE (por defecto), incluye también Casi Amenazado (NT) y Datos Insuficientes (DD).

Value

Un vector lógico de la misma longitud que species.

Examples

is_threatened(c("Tremarctos ornatus", "Panthera leo"))
is_threatened(c("Puma concolor", "Vultur gryphus"), only_threatened = TRUE)


Especies de Fauna Silvestre del Libro Rojo (SERFOR, 2018)

Description

Lista de 528 especies de fauna silvestre amenazada analizadas técnicamente en el *Libro Rojo de la Fauna Silvestre Amenazada del Perú* (SERFOR, 2018).

Usage

libro_rojo_especies

Format

Un tibble con 528 filas y 7 variables:

libro_rojo_id

Número correlativo en el catálogo del Libro Rojo.

libro_rojo_categoria

Nombre completo de la categoría de amenaza asignada.

libro_rojo_codigo

Código de categoría ordenado (CR, EN, VU, NT, DD).

grupo_taxonomico

Grupo taxonómico (Anfibios, Aves, Invertebrados, Mamíferos, Reptiles).

scientific_name_raw

Nombre científico original tal como fue impreso en el libro.

sinonimo

Sinónimos o combinaciones previas registradas.

scientific_name

Nombre científico validado y normalizado para matching computacional.

Details

El Libro Rojo es el primer documento técnico y científico comprehensivo elaborado en el Perú siguiendo formalmente los criterios y categorías de la Lista Roja de la Unión Internacional para la Conservación de la Naturaleza (UICN, versión 3.1).

Fue coordinado por la Dirección General de Gestión Sostenible del Patrimonio Forestal y de Fauna Silvestre del Servicio Nacional Forestal y de Fauna Silvestre (SERFOR) con la participación activa de más de 50 especialistas nacionales e internacionales divididos en comités científicos temáticos:

De las 528 especies analizadas en el libro, 389 están en categorías de amenaza real (64 CR, 122 EN, 203 VU), 103 en Casi Amenazado (NT) y 43 en Datos Insuficientes (DD). Las especies en CR, EN y VU cuentan con fichas técnicas monográficas detalladas compiladas en libro_rojo_fichas.

Source

SERFOR (2018). *Libro Rojo de la Fauna Silvestre Amenazada del Perú*. Primera edición. Servicio Nacional Forestal y de Fauna Silvestre, Lima, Perú. 548 pp.

See Also

ds004_fauna, libro_rojo_fichas, fauna_backbone


Fichas Técnicas del Libro Rojo de Fauna Silvestre (SERFOR, 2018)

Description

Compendio de 381 fichas técnicas monográficas exhaustivas elaboradas por especialistas e investigadores de campo para las especies en situación de amenaza comprobada (categorías CR, EN y VU) según el Libro Rojo de SERFOR (2018).

Usage

libro_rojo_fichas

Format

Un tibble con 381 filas y 16 variables:

genus

Género taxonómico validado.

species

Epíteto específico.

subespecie

Subespecie (si aplica).

species_autor

Autoría y año de descripción taxonómica.

class_name

Clase taxonómica (Amphibia, Aves, Mammalia, Reptilia, Insecta, Arachnida, Diplopoda, Gastropoda, Onychophora).

order_name

Orden taxonómico.

family_name

Familia taxonómica.

species_name

Nombre científico binomial o trinomial completo con autoría.

ficha_categoria

Categoría de amenaza y código de criterios UICN asignados (ej. "CR / B1ab(iii)").

ficha_grupo

Grupo taxonómico (Anfibios, Aves, Invertebrados, Mamíferos, Reptiles).

common_name

Nombre común vernacular representativo.

justificacion

Texto íntegro de la justificación técnica de la categorización.

distribucion

Texto íntegro de la distribución geográfica y altitudinal conocida.

amenazas

Texto íntegro describiendo las presiones antropogénicas e impactos.

conservacion

Texto íntegro de las medidas de conservación y representatividad en ANPs.

autores

Especialistas e investigadores autores de la ficha técnica.

canonical_name

Nombre científico normalizado en formato binario/trinario para joins computacionales.

Details

Cada ficha técnica representa una síntesis exhaustiva de la evidencia empírica disponible a la fecha de publicación, cubriendo:

Composición por grupo taxonómico (381 fichas en total):

Source

SERFOR (2018). *Libro Rojo de la Fauna Silvestre Amenazada del Perú*. Servicio Nacional Forestal y de Fauna Silvestre, Lima, Perú.

See Also

get_ficha, ds004_fauna, libro_rojo_especies


Normalizar nombres científicos

Description

Limpia espacios redundantes, signos de puntuación periféricos y asegura formato de mayúscula inicial para el género y minúsculas para el epíteto.

Usage

normalize_name(x)

Arguments

x

Vector de caracteres con nombres científicos.

Value

Vector de caracteres normalizado.


Remover tildes y diacríticos

Description

Remover tildes y diacríticos

Usage

remove_accents(x)

Arguments

x

Cadena de texto o vector de caracteres.

Value

Cadena sin tildes ni acentos.

mirror server hosted at Truenetwork, Russian Federation.