| 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
|
| 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 |
species_col |
Nombre de la columna que contiene los nombres científicos
cuando |
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:
**Inclusión histórica de invertebrados terrestres**: Por primera vez en el Perú se reconoció formalmente a 21 especies de invertebrados (17 artrópodos, 1 molusco y 3 onicóforos) dentro de una norma nacional de fauna amenazada.
**Adopción estandarizada de categorías UICN**: Se emplean las categorías En Peligro Crítico (CR), En Peligro (EN), Vulnerable (VU), Casi Amenazado (NT) y Datos Insuficientes (DD).
**Principio precautorio**: A diferencia de las listas globales donde NT y DD no son categorías de amenaza en sentido estricto, la normativa peruana las incluyó en el régimen de protección legal para salvaguardar taxones con vacíos de información o en umbrales de declive poblacional.
**Composición taxonómica**: Comprende 190 aves, 146 anfibios, 124 mamíferos, 54 reptiles y 21 invertebrados terrestres.
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:
Homogeneización de sinonimias históricas (ej. *Oreonax flavicauda* a *Lagothrix flavicauda*).
Corrección de exclusiones o precisiones geográficas (ej. el anfibio *Psychophrynella wettsteini*, cuyos registros en Perú se determinaron erróneos y fue excluido del Libro Rojo).
Indexación cruzada de estatus legal (DS 004) vs estatus técnico (Libro Rojo) y disponibilidad de monografía técnica ('has_ficha').
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
|
target_df |
Base de datos de referencia. Por defecto es |
species_col |
Nombre de la columna de nombres si |
max_distance |
Distancia máxima de edición para matching difuso (por defecto |
method |
Método de distancia de cadenas para |
fuzzy |
Lógico. Si es |
genus_match |
Lógico. Si es |
group |
Filtro opcional por clase/grupo taxonómico (ej. |
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 |
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 |
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:
**Anfibios**: Coordinado por Alessandro Catenazzi y Rudolf von May.
**Aves**: Coordinado por Fernando Angulo Pratolongo.
**Mamíferos**: Coordinado por E. Daniel Cossios Meza.
**Reptiles**: Coordinado por José Pérez Z.
**Invertebrados terrestres**: Coordinado por José Antonio Ochoa y Diana Silva.
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:
**Criterios UICN asignados**: Desglose cuantitativo del criterio o combinación de criterios (A, B, C, D) y subcriterios que justifican la categoría. En la fauna peruana destaca el predominio del Criterio B (distribución geográfica restringida: extensión de presencia B1 y área de ocupación B2) y la ausencia del Criterio E (análisis cuantitativo poblacional) debido a la escasez de series temporales.
**Justificación**: Argumentación biológica, demográfica y biogeográfica.
**Distribución geográfica y altitudinal**: Localidades tipo, rangos de elevación y ecorregiones peruanas de presencia.
**Amenazas principales**: Factores antropogénicos directos e indirectos, incluyendo agricultura/ganadería, deforestación, minería aurífera y metálica, contaminación por metales pesados, quitridiomicosis (*Batrachochytrium dendrobatidis*), caza para consumo, tráfico ilegal de mascotas y cambio climático.
**Conservación y vacíos en el SINANPE**: Presencia en Áreas Naturales Protegidas nacionales (SINANPE), áreas de conservación regional (ACR) o privadas (ACP), evidenciando las brechas espaciales de protección (ej. 32% de anfibios fuera de ANPs).
**Autores**: Nombres de los investigadores y taxónomos responsables de la ficha.
Composición por grupo taxonómico (381 fichas en total):
Aves: 122 fichas (todas las especies en CR, EN y VU).
Anfibios: 117 fichas.
Mamíferos: 92 fichas (todas las especies en CR, EN y VU).
Reptiles: 31 fichas.
Invertebrados: 19 fichas.
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.