## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  warning = FALSE,
  message = FALSE,
  fig.width = 7.2,
  fig.height = 4.8,
  fig.align = "center"
)

## ----timeline-table, echo = FALSE---------------------------------------------
historia <- data.frame(
  Año = c("1977", "1990", "1999", "2004", "2014", "2018"),
  Norma_Documento = c(
    "R.M. N° 1710-77-AG/DGFF",
    "R.M. N° 01082-90-AG/DGFF",
    "D.S. N° 013-99-AG",
    "D.S. N° 034-2004-AG",
    "D.S. N° 004-2014-MINAGRI",
    "Libro Rojo (SERFOR, 2018)"
  ),
  Especies_Protegidas = c("Precursor", "Revisión inicial", "221 taxones", "301 taxones", "535 taxones", "528 taxones (381 fichas)"),
  Metodologia = c(
    "Listado cualitativo nacional",
    "Evaluación de expertos nacionales",
    "Categorías no UICN (Extinción, Vulnerable, Rara, Indeterminada)",
    "Primera adopción formal de categorías UICN (CR, EN, VU, NT)",
    "Estandarización estricta UICN + Principio Precautorio (NT y DD) + Invertebrados",
    "Evaluación científica formal UICN v3.1 por comités temáticos con fichas monográficas"
  )
)
knitr::kable(historia, col.names = c("Año", "Norma o Instrumento", "Taxones Considerados", "Enfoque Metodológico"))

## ----matching-taxonomia-------------------------------------------------------
library(perufaunads004)
library(dplyr)

# Ejemplos de nombres con sinonimias, errores tipográficos o desactualizaciones
casos_estudio <- c(
  "Oreonax flavicauda",        # Sinónimo histórico de Lagothrix flavicauda
  "Psychophrynella wettsteini", # Especie del DS 004 con estatus especial
  "Vultor gryphus",             # Typo por Vultur gryphus
  "Podiceps taczanowskii",      # Zambullidor de Junín (CR)
  "Sulcophanaeus actaeon"       # Escarabajo pelotero (CR)
)

resultado_matching <- fauna_matching(casos_estudio)

resultado_matching |>
  select(
    submitted_name,
    matched_name,
    match_type,
    ds004_code,
    libro_rojo_code,
    clase
  )

## ----eia-pipeline-------------------------------------------------------------
# Lista típica de avistamientos o capturas en una Línea Base Ambiental
inventario_campo <- c(
  "Tremarctos ornatus",
  "Penelope albipennis",
  "Puma concolor",
  "Telmatobius culeus",
  "Lithobates catesbeianus",
  "Tingomaria hydrophila"
)

# 1. Validación taxonómica y cruce de categorías
diagnostico <- fauna_matching(inventario_campo)

# 2. Resumen de prioridades de conservación
diagnostico |>
  select(
    matched_name,
    clase,
    ds004_code,
    libro_rojo_code,
    common_name
  ) |>
  arrange(factor(ds004_code, levels = c("CR", "EN", "VU", "NT", "DD")))

## ----ficha-detail-------------------------------------------------------------
# Extraer la justificación y criterios del Zambullidor de Junín
ficha_junin <- get_ficha("Podiceps taczanowskii")
cat("Especie:", ficha_junin$species_name, "\n")
cat("Categoría y Criterios:", ficha_junin$ficha_categoria, "\n")
cat("Autores de la ficha:", ficha_junin$autores, "\n\n")
cat("Justificación:", ficha_junin$justificacion, "\n")

