Recopilar los resultados de análisis de presencia de Trichinella spp. en animales en el sur de Neuquén durante 2018-2024 (casi todos a partir de muestras de suidos: jabalíes silvestres y cerdos domésticos) para: (1) evaluar la cantidad, calidad y ubicación espacio-temporal de la información disponible para poder estudiar la circulación de Trichinella spp. en su ciclo silvestre, y (2) detectar y establecer relaciones entre variables relevantes (posición geográfica, estacionalidad y cambios interanuales, características de los animales como edad y sexo) asociadas a variaciones de la prevalencia de la enfermedad.
Los análisis por Digestión Artificial (DA) fueron efectuados por siete laboratorios privados y públicos de la Provincia del Neuquén (localizados en Aluminé, Junín de los Andes, San Martín de los Andes y Villa La Angostura) entre 2018 y 2024 usando muestras de tejidos musculares (al menos diafragma fresco; en ocasiones también masetero, brazuelo, base de lengua o intercostales) de animales provenientes de los seis departamentos del sur de la provincia (Aluminé, Catan Lil, Collón Cura, Huiliches, Lácar y Los Lagos.
Se solicitaron todos los datos disponibles de análisis por DA a los laboratorios, que los registraron y almacenaron con diferente grado de precisión y detalle. Los de mayor nivel de detalle tienen datos precisos de fechas y lugares de caza, edad y sexo de los animales tanto los que resultaron positivos como negativos; los de menor detalle fueron provistos agregados por año (en especial los de muestras negativas, que no son de notificación obligatoria), sin necesariamente incluir datos de localización ni fechas de captura. El periodo analizado, registrado o provisto por cada laboratorio fue variable. Los años 2020 y 2021 fueron tratados de modo agregado debido al impacto de la emergencia de salud pública por la pandemia de COVID-19.
Los análisis y figuras fueron realizados con el guión en formato R Markdown que produce este documento html, utilizando funciones del software de código abierto R (incluidas en su paquete básico y en varios paquetes adicionales; ver código debajo). El desarrollo del guión y la compilación de este documento se realizaron usando RStudio (incluyendo los paquetes knitr y bookdown).
#library(lme4)
library(scales) # formato de escalas
library(dplyr) # manejo de base de datos
library(tidyr) # manejo de base de datos
library(forcats) # manejo de variables categóricas
library(ggplot2) # figuras
library(gridExtra) # organización de paneles de ggplots
library(sf) # manejo de mapas
library(ggspatial) # anotaciones en mapas
# general theme for ggplot B&W no grid no legend
tema <- theme_bw(base_size = 14) + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), legend.position = "none")
#disables scientific notation
options(scipen = 6)
# Data import & massage
# Importar base de datos de resultados de análisis de trichinellosis en laboratorios. "D = desconocido" importado como NA
TriquiLabs <- read.delim("TriquiLabs.txt", colClasses = c("integer", rep("character", 5), rep("factor", 2), "character", rep("factor", 2), "numeric", "character"), comment.char = "#", na.strings = c("NA", "", "D")) |>
mutate(DatosBuenos = as.logical(DatosBuenos),
Mes = months(as.Date(Fecha), abbreviate = TRUE),
Fecha = if_else(nchar(Fecha) > 4, as.Date(Fecha), as.Date(paste0(Fecha, "-07-01"))), #assign mid-year date to rows with only yearly precision
NroAnalizados = as.integer(NroAnalizados),
Triquina = as.logical(Trichinella)) |>
filter(!is.na(NroAnalizados), format(Fecha, "%Y") != "2017")
# if necesary (e.g. logistic glm with correct degrees of freedom): expand dataset by repeating each row NroAnalizados times and drop the frequency column
# TriquiLabs <- TriquiLabs [rep(1:nrow(TriquiLabs ), TriquiLabs $NroAnalizados), ]
#import shape (deptos NQN)
TriquiMap <- read_sf("Shapes/Nqn_Dep_Prev_WGS84.shp")
#porciones con ciervo llevan nombre de Depto; porciones por fuera quedan con nombre vacío (para no figurar en el mapa), excepto Picún Leufú, que es al revés
TriquiMap$NOMBRE <- fct_recode(TriquiMap$NOMBRE, "Catán Lil" = "Catán Lil con", "Collón Cura" = "Collón Cura con", "Picunches" = "Picunches con", " " = "Picún Leufú con"," " = "Catán Lil sin", " " = "Collón Cura sin", " " = "Picunches sin", "Picún Leufú" = "Picún Leufú sin")
# remove old data
#TriquiMap[, c("SUPERFICIE", "n", "Posit%")] <- NULL
# add Jabalí data to build map
JabaliMap <- TriquiLabs |>
filter(Especie == "Jabalí") |>
group_by(Departamento, Triquina) |>
summarize(Total = sum(NroAnalizados, na.rm = TRUE)) |>
mutate(Prop = Total / sum(Total)) |>
ungroup() |>
group_by(Departamento) |>
summarize(N = sum(Total), Positivas = Total[Triquina], Prop = Prop[Triquina]) |>
left_join(x = TriquiMap, by = join_by(NOMBRE == Departamento))
#para agregar valor de "sin muestras" en la parte de Picunches donde hay jabalíes
#mutate(N = if_else(NOMBRE == "Picunches", 0, N))
La mayoría de los análisis (1494, 62%) corresponden a muestras de tejidos de jabalíes silvestres cazados en la zona focal. El resto son casi exclusivamente muestras de cerdos domésticos (889, 37%) o de suidos identificados en los registros como “cruza” entre jabalíes y cerdos (15). Solo se registraron 10 muestras de animales nativos (puma y cóndor) (Fig. 1A).
De las muestras de jabalí examinadas, 60 muestras (4.02%) resultaron positivas a la presencia de Trichinella (Fig. 1A). Esa prevalencia global estimada en jabalíes silvestres es al menos un orden de magnitud superior a la registrada en cerdos domésticos, que resultaría menor aún si se consideraran tres registros de análisis durante este periodo de un número desconocido de individuos (análisis por lotes) que también resultaron negativos a la presencia de Trichinella spp.
grid.arrange(
#1 por Especie
TriquiLabs |>
group_by(Especie, Triquina) |>
summarize(Total = sum(NroAnalizados, na.rm = TRUE)) |>
mutate(Prop = Total / sum(Total)) |>
ungroup() |>
complete(Especie, Triquina, fill = list(Total = 0, Prop = 0)) |>
ggplot(aes(y = Total, x = fct_infreq(Especie, w = Total), fill = Triquina)) +
geom_col(position = position_stack(reverse = TRUE)) +
geom_text(aes(label = ifelse(Triquina, paste0(Total, " (", percent(Prop, 0.1), ")"), NA)), position = position_stack(reverse = TRUE), vjust = -0.5, colour = "darkred", size = 3) +
labs(y = "Muestras (2018–2024)", x = "Especie", subtitle = "A") +
scale_y_continuous(expand = expansion(mult = c(0.05, .15))) +
scale_fill_manual(name = "Trichinella", labels = c("Negativo", "Positivo"), values = c("darkgreen", "darkred")) +
tema,
#+ theme(legend.position = "inside", legend.position.inside = c(0.75, 0.75))
#2 Jabalí por Año
TriquiLabs |>
filter(Especie == "Jabalí") |>
group_by(Year = fct_recode(as.factor(format(Fecha, "%Y")), "2020-21" = "2020", "2020-21" = "2021"), Triquina) |>
summarize(Total = sum(NroAnalizados, na.rm = TRUE)) |>
mutate(Prop = Total / sum(Total)) |>
ggplot(aes(y = Total, x = Year, fill = Triquina)) +
geom_col(position = position_stack(reverse = TRUE)) +
geom_text(aes(label = ifelse(Triquina, paste0(Total, " (", percent(Prop, 0.1), ")"), NA)), position = position_stack(reverse = TRUE), vjust = -0.5, colour = "darkred", size = 3) +
labs(y = "Muestras de jabalí", x = "Año", subtitle = "B") +
scale_y_continuous(expand = expansion(mult = c(0.05, .15))) +
scale_fill_manual(name = "Trichinella", labels = c("Negativo", "Positivo"), values = c("darkgreen", "darkred")) +
tema,
#3 Jabalí por Estación del año
TriquiLabs |> #ggplot dentro de print para que funcione ggbreak con grid.arrange
filter(Especie == "Jabalí") |>
group_by(Mes, Triquina) |>
summarize(Total = sum(NroAnalizados, na.rm = TRUE)) |>
mutate(Prop = Total / sum(Total)) |>
ungroup() |>
complete(Mes, Triquina, fill = list(Total = 0, Prop = 0)) |>
ggplot(aes(y = Total, x = factor(Mes, levels = month.abb), fill = Triquina)) +
geom_col(position = position_stack(reverse = TRUE)) +
geom_text(aes(label = ifelse(Triquina, paste0(Total, " (", percent(Prop, 0.1), ")"), NA)), position = position_stack(reverse = TRUE), vjust = -0.5, colour = "darkred", size = 3) +
labs(y = "Muestras de jabalí", x = "Mes", subtitle = "C") +
scale_y_continuous(expand = expansion(mult = c(0.05, .15))) +
scale_x_discrete(position = "bottom", labels = c("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic")) +
scale_fill_manual(name = "Trichinella", labels = c("Negativo", "Positivo"), values = c("darkgreen", "darkred")) +
tema + theme(legend.position = "right", legend.title = element_text(face = "italic")),
# por Localidad
#TriquiLabs |>
# filter(Especie == "Jabalí") |>
# group_by(LabLocalidad = fct_recode(LabLocalidad, JdlA = "Junín de los Andes", SMA = "San Martín de los Andes", VLA = "Villa La Angostura"), Triquina) |>
# summarize(Total = sum(NroAnalizados, na.rm = TRUE)) |>
# mutate(Prop = Total / sum(Total)) |>
# ungroup() |>
# complete(LabLocalidad, Triquina, fill = list(Total = 0, Prop = 0)) |>
# ggplot(aes(y = Total, x = LabLocalidad, fill = Triquina)) +
# geom_col(position = position_stack(reverse = TRUE)) +
# geom_text(aes(label = ifelse(Triquina, percent(Prop, 0.1), NA)), position = position_stack(reverse = TRUE), vjust = -0.5, colour = "darkred") +
# labs(y = "", x = "Localidad (análisis)", subtitle = "B") +
# scale_y_continuous(expand = expansion(mult = c(0.05, .15))) +
# scale_fill_manual(name = "Resultado", labels = c("Negativo", "Positivo"), values = c("darkgreen", "darkred")) +
# tema,
#4 Jabalí por Lab (anonimizado)
TriquiLabs |>
filter(Especie == "Jabalí") |>
group_by(LabID = fct_anon(LabID, "Lab"), Triquina) |>
summarize(Total = sum(NroAnalizados, na.rm = TRUE)) |>
mutate(Prop = Total / sum(Total)) |>
ggplot(aes(y = Total, x = fct_infreq(LabID, w = Total), fill = Triquina)) +
geom_col(position = position_stack(reverse = TRUE)) +
geom_text(aes(label = ifelse(Triquina, paste0(Total, " (", percent(Prop, 0.1), ")"), NA)), position = position_stack(reverse = TRUE), vjust = -0.5, colour = "darkred", size = 3) +
labs(y = "Muestras de jabalí", x = "Laboratorio", subtitle = "D") +
scale_y_continuous(expand = expansion(mult = c(0.05, .15))) +
scale_fill_manual(name = "Resultado", labels = c("Negativo", "Positivo"), values = c("darkgreen", "darkred")) +
tema,
#5 Jabalí por Departamento de origen
TriquiLabs |> #dentro de print para que ggbreak sea compatible con grid.arrange
filter(Especie == "Jabalí") |>
group_by(Departamento = fct_recode(Departamento, Lagos = "Los Lagos", "CatánL." = "Catán Lil", "C.Cura" = "Collón Cura", "Huilich." = "Huiliches"), Triquina) |>
summarize(Total = sum(NroAnalizados, na.rm = TRUE)) |>
mutate(Prop = Total / sum(Total)) |>
ggplot(aes(y = Total, x = fct_infreq(Departamento, w = Total), fill = Triquina)) +
geom_col(position = position_stack(reverse = TRUE)) +
geom_text(aes(label = ifelse(Triquina, paste0(Total, " (", percent(Prop, 0.1), ")"), NA)), position = position_stack(reverse = TRUE), vjust = -0.5, colour = "darkred", size = 3) +
labs(y = "Muestras de jabalí", x = "Departamento (origen)", subtitle = "E") +
scale_y_continuous(expand = expansion(mult = c(0.05, .15))) +
scale_fill_manual(name = "Resultado", labels = c("Negativo", "Positivo"), values = c("darkgreen", "darkred")) +
tema,
layout_matrix = matrix(c(1, 3, 4, 2, 3, 5), 3, 2))
Figura 1: (A) Número de muestras de cada especie analizadas para la presencia de Trichinella spp. en el sur de la Provincia de Neuquén entre 2018 y 2024, indicando el número y porcentaje de muestras positivas; (B–E) Número de muestras de jabalí analizadas en el mismo lugar y periodo separadas por (B) año, (C) mes del año, (D) laboratorio, y (E) Departamento de origen del animal analizado (NA = no asignable o sin dato de origen).
El número de muestras de jabalí positivas en la región aumentó en los últimos años, pero parece solo consecuencia del mayor número de muestras incluidas en la base de datos compilada; de hecho, los valores de prevalencia calculados parecen algo mayores al comienzo del periodo analizado (Fig. 1B). Las variaciones en los valores de prevalencia resultantes para toda la región podrían deberse a la importante variación temporal de la composición de la base de datos por laboratorio o por Departamento (Fig. 1D–E). Por ejemplo, al no contar con registros de análisis hechos en San Martín de los Andes antes de 2023 o en Va. La Angostura antes de 2020 (Fig. 2) las tendencias temporales agregadas podrían estar sesgadas si es que las prevalencias reales (esto es, en la población de jabalíes) no fuesen temporal o espacialmente homogéneas. Aún en aquellos casos donde la información disponible es continua y menos fluctuante en el tiempo (como en Junín de los Andes o Aluminé), las prevalencias estimadas con muestras más pequeñas en periodos cortos (por ejemplo, anuales) resultan muy variables (Fig. 2).
TriquiLabs |>
filter(Especie == "Jabalí") |>
group_by(Year = fct_recode(as.factor(format(Fecha, "%Y")), "2020-21" = "2020", "2020-21" = "2021"), LabLocalidad, Triquina) |>
summarize(Total = sum(NroAnalizados, na.rm = TRUE)) |>
mutate(Prop = Total / sum(Total)) |>
ungroup() |>
complete(nesting(Year, LabLocalidad), Triquina, fill = list(Total = 0, Prop = 0)) |>
ggplot(aes(y = Total, x = Year, fill = Triquina)) +
geom_col(position = position_stack(reverse = TRUE)) +
facet_wrap(~ LabLocalidad) +
geom_text(aes(label = ifelse(Triquina, paste0(Total, " (", percent(Prop, 0.1), ")"), NA)), position = position_stack(reverse = TRUE), vjust = -0.5, colour = "darkred", size = 3) +
labs(y = "Número de muestras de jabalí", x = "Año") +
scale_y_continuous(expand = expansion(mult = c(0.05, .15))) +
scale_fill_manual(name = "Trichinella", labels = c("Negativo", "Positivo"), values = c("darkgreen", "darkred")) +
tema +
theme(legend.position = "inside", legend.position.inside = c(0.9, 0.325), legend.title = element_text(face = "italic"))
Figura 2: Número de muestras de jabalí analizadas para la presencia de Trichinella spp. en el sur de la Provincia de Neuquén entre 2018–2024, indicando el número y porcentaje de muestras positivas, según el año y localidad en la que ubica el laboratorio que hizo el análisis.
Más de la mitad de las muestras de jabalí analizadas (53%) no cuenta con información precisa de fecha ni de origen del animal cazado, o esa información no tiene la precisión suficiente para poder asignarla a un determinado mes (datos agregados a nivel de año) o Departamento (columnas “NA” en Fig. 1C y E). Eso puede condicionar los estudios de variaciones temporales y espaciales de la prevalencia de Trichinella en la población de jabalíes, en especial si el registro o la pérdida de esa información no son aleatorios y homogéneos entre las condiciones comparadas.
Por caso, es probable que el patrón intra-anual de distribución de los análisis obtenido con menos de la mitad de las muestras (la mayor parte ocurre durante la temporada de caza: otoño-invierno; Fig. 1C) refleje apropiadamente al verdadero. Pero las prevalencias estimadas entre las muestras sin información de fecha o de localización (columnas “NA” en Figs. 1C y E) son bastante más bajas que entre los registros completos, reflejando la tendencia a completar los registros (o conservarlos) preferentemente en las muestras positivas que son de denuncia obligatoria. Eso seguramente resulta en sobrestimaciones de las prevalencias entre los registros con información completa: las prevalencias entre muestras asignables a los Departamentos son bastante mayores a la prevalencia general. Considerando esas limitaciones y posibles sesgos, tanto el mayor número de muestras positivas como la mayor prevalencia estimada a partir de los análisis localizables en el periodo 2018–2024 se dieron en el Departamento Lácar (Fig. 3).
grid.arrange(
#N
ggplot(JabaliMap, aes(fill = N, label = NOMBRE)) +
geom_sf(color = "black") +
geom_sf_text(nudge_x = c(0.2, rep(0, 15), 0.25, rep(0, 3)), size = 2.5) + #nudge individual text labels
coord_sf(xlim = c(-72, -69.22), ylim = c(-41.25, -38.5)) +
scale_x_continuous(breaks = c(-72, -71, -70)) +
scale_y_continuous(breaks = c(-41, -40, -39)) +
scale_fill_viridis_c(name = NULL, option = "mako", limits = c(0, 210), direction = -1, begin = 0.1, na.value = "grey70") +
labs(subtitle = "Número de muestras", x = "", y = "") +
annotation_scale(width_hint = 0.5, location = "bl", bar_cols = c("grey20", "white")) +
annotation_north_arrow(location = "tl", height = unit(.8, "cm"), width = unit(0.6, "cm"), style = north_arrow_orienteering(fill = c("grey80", "white"), text_size = 5)) +
tema +
theme(legend.position = "inside", legend.background = element_blank(), legend.position.inside = c(0.85, 0.25)),
#Positivas
ggplot(JabaliMap, aes(fill = Positivas, label = NOMBRE)) +
geom_sf(color = "black") +
geom_sf_text(nudge_x = c(0.2, rep(0, 15), 0.25, rep(0, 3)), size = 2.5) +
coord_sf(xlim = c(-72, -69.22), ylim = c(-41.25, -38.5)) +
scale_x_continuous(breaks = c(-72, -71, -70)) +
scale_y_continuous(breaks = c(-41, -40, -39)) +
scale_fill_viridis_c(name = NULL, option = "inferno", limits = c(0, 24), direction = -1, begin = 0.15, na.value = "grey70") +
labs(subtitle = "Muestras positivas", x = "", y = "") +
annotation_scale(width_hint = 0.5, location = "bl", bar_cols = c("grey20", "white")) +
annotation_north_arrow(location = "tl", height = unit(.8, "cm"), width = unit(0.6, "cm"), style = north_arrow_orienteering(fill = c("grey80", "white"), text_size = 5)) +
tema +
theme(legend.position = "inside", legend.background = element_blank(), legend.position.inside = c(0.85, 0.25)),
#Prevalencia
ggplot(JabaliMap, aes(fill = Prop * 100, label = NOMBRE)) +
geom_sf(color = "black") +
geom_sf_text(nudge_x = c(0.2, rep(0, 15), 0.25, rep(0, 3)), size = 2.5) +
coord_sf(xlim = c(-72, -69.22), ylim = c(-41.25, -38.5)) +
scale_x_continuous(breaks = c(-72, -71, -70)) +
scale_y_continuous(breaks = c(-41, -40, -39)) +
scale_fill_viridis_c(name = NULL, option = "turbo", limits = c(0, 16), begin = 0.05, na.value = "grey70") +
labs(subtitle = "Prevalencia (%)", x = "", y = "") +
annotation_scale(width_hint = 0.5, location = "bl", bar_cols = c("grey20", "white")) +
annotation_north_arrow(location = "tl", height = unit(.8, "cm"), width = unit(0.6, "cm"), style = north_arrow_orienteering(fill = c("grey80", "white"), text_size = 5)) +
tema +
theme(legend.position = "inside", legend.background = element_blank(), legend.position.inside = c(0.85, 0.25)),
nrow = 1, top = "Análisis de trichinellosis por DA en jabalíes (sur de Neuquén, 2018–2024)")
Figura 3: Muestras de jabalí analizadas entre 2018–2024 para la presencia de Trichinella spp. que cuentan con localización a nivel de Departamento en el sur de la provincia de Neuquén (47% del total), indicando el número total de muestras, el número de muestras positivas y la prevalencia porcentual (ver detalles en Fig. 1D). En gris, las áreas sin información o fuera de la distribución conocida del jabalí en la región.
Ambos efectos simultáneos (i.e., las fuertes diferencias en el número de análisis realizados entre Departamentos y años, más los sesgos en el registro o preservación de esa información) comprometen fuertemente la posibilidad de obtener conclusiones válidas sobre las variaciones espacio-temporales de la prevalencia de Trichinella spp en jabalíes basadas únicamente en los registros de muestras positivas (Figs. 3 y 4).
TriquiLabs |>
filter(Especie == "Jabalí", Triquina) |>
group_by(Year = fct_recode(as.factor(format(Fecha, "%Y")), "2020-21" = "2020", "2020-21" = "2021"), Departamento) |>
summarize(Total = sum(NroAnalizados, na.rm = TRUE)) |>
ggplot(aes(y = Total, x = Year, fill = fct_infreq(Departamento))) +
geom_col(position = position_stack(reverse = TRUE)) +
scale_fill_viridis_d(name = "Departamento", option = "inferno", begin = 0.15, end = 0.9, na.value = "grey70") +
labs(y = "Muestras de jabalí positivas", x = "Año") +
tema +
theme(legend.position = "right")
Figura 4: Distribución entre Departamentos y años de las muestras de jabalí que resultaron positivas a la presencia de Trichinella spp. durante 2018–2024 en el sur de la Provincia de Neuquén.
Lamentablemente una proporción aún mayor de los resultados de los análisis (75%) tampoco cuenta con información de edad y sexo del individuo analizado, y otro 17% tiene información de solo una de las dos variables. Esto dificulta los análisis estadísticos de prevalencias parciales para poder determinar con cierta confianza la relevancia de factores de riesgo (por ejemplo, una regresión logística con Departamento, edad y sexo como variables categóricas predictoras). Aun cuando la construcción del modelo estadístico es factible, la poca información contenida en la base de datos sobre estas variables comprometería gravemente las inferencias a partir de sus resultados, en especial porque las muestras informativas están temporal y espacialmente muy concentradas (e.g., el 56% son de análisis hechos en Junín de los Andes, y otro 38% son de un solo año en Aluminé, Fig. 5).
TriquiLabs |>
filter(Especie == "Jabalí") |>
group_by(Year = fct_recode(as.factor(format(Fecha, "%Y")), "2020-21" = "2020", "2020-21" = "2021"), LabLocalidad, Grupo = interaction(Edad = fct_recode(Edad, Juvenil = "J", Juvenil = "L", Adulto = "A"), Sexo)) |>
summarize(Inds = sum(NroAnalizados, na.rm = TRUE)) |>
ggplot(aes(y = Inds, x = Year, fill = fct_na_value_to_level(Grupo, level = "Desconocido"))) +
geom_col() +
facet_wrap(~ LabLocalidad) +
labs(y = "Número de muestras analizadas", x = "Año") +
scale_fill_manual(name = "Grupo", labels = c("Hembra adulta", "Hembra juvenil", "Macho adulto", "Macho juvenil", "Desconocido"), values = c("#D02F2F", "#F2C5C5", "#2FD0D0", "#C5F2F2", "darkgray")) +
tema +
theme(legend.position = "inside", legend.position.inside = c(0.15, 0.3))
Figura 5: Número de muestras de jabalí analizadas para la presencia de Trichinella spp. en el sur de la Provincia de Neuquén según edad y sexo del animal y el año del análisis.
Por el mismo motivo, casi la mitad de las muestras de jabalí positivas (45%) no tienen indicación de edad ni sexo (Fig. 6B). Del resto, casi todas las muestras son de individuos adultos (solo 9% descriptos como lechones o juveniles) y la mayor parte de individuos macho (67%). Como referencia, entre las muestras negativas con información de edad y sexo, los lechones/juveniles son una proporción bastante mayor (35%) mientras que el porcentaje de machos es similar (60%). Esa comparación sugiere una asociación de la prevalencia con la edad (mayor en adultos) pero no con el sexo, pero, nuevamente, las inferencias a partir de estas comparaciones están basadas en una proporción muy pequeña del total de muestras en la base de datos.
grid.arrange(
#muestras con info completa de sexo y edad
TriquiLabs |>
filter(Especie == "Jabalí") |>
group_by(Year = fct_recode(as.factor(format(Fecha, "%Y")), "2020-21" = "2020", "2020-21" = "2021"), Grupo = interaction(Edad = fct_recode(Edad, Juvenil = "J", Juvenil = "L", Adulto = "A"), Sexo)) |>
summarize(Inds = sum(NroAnalizados, na.rm = TRUE)) |>
ggplot(aes(y = Inds, x = Year, fill = fct_na_value_to_level(Grupo, level = "Desconocido"))) +
geom_col() +
labs(y = "Muestras de jabalí", x = "Año", subtitle = "A") +
scale_fill_manual(name = "Sexo y edad", labels = c("Hembra adulta", "Hembra juvenil", "Macho adulto", "Macho juvenil", "Desconocido"), values = c("#D02F2F", "#F2C5C5", "#2FD0D0", "#C5F2F2", "darkgray")) +
tema +
theme(legend.position = "right"),
# según resultado
TriquiLabs |>
filter(Especie == "Jabalí") |>
group_by(Edad = fct_recode(Edad, Juvenil = "J", Juvenil = "L", Adulto = "A"), Sexo, Triquina) |>
summarize(Inds = sum(NroAnalizados, na.rm = TRUE)) |>
ggplot(aes(y = Inds, x = fct_na_value_to_level(Edad, level = "Descon."), fill = fct_na_value_to_level(Sexo, level = "Desconocido"))) +
geom_col() +
facet_wrap(~fct_recode(as.factor(Triquina), Positivas = "TRUE", Negativas = "FALSE"), scales = "free_y") +
scale_x_discrete(limits = c("Juvenil", "Adulto", "Descon.")) +
labs(y = "Muestras de jabalí", x = "Edad", subtitle = "B") +
scale_fill_manual(name = "Sexo", labels = c("Hembra", "Macho", "Desconocido"), values = c("#E17D7D", "#7DE1E1", "darkgray")) +
tema +
theme(legend.position = "right"),
nrow = 2)
Figura 6: Número de muestras de jabalí analizadas para la presencia de Trichinella spp. en el sur de la Provincia de Neuquén en el periodo 2018–2024 según edad y sexo del animal, (A) en función del año y (B) en función del resultado del análisis.
sessionInfo()
## R version 4.5.2 (2025-10-31)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.3 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.12.0
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.0 LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_AU.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_AU.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_AU.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C
##
## time zone: America/Argentina/Buenos_Aires
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] ggspatial_1.1.9 sf_1.0-21 gridExtra_2.3 ggplot2_4.0.0
## [5] forcats_1.0.0 tidyr_1.3.1 dplyr_1.1.4 scales_1.4.0
##
## loaded via a namespace (and not attached):
## [1] gtable_0.3.6 jsonlite_2.0.0 compiler_4.5.2 Rcpp_1.0.14
## [5] tidyselect_1.2.1 jquerylib_0.1.4 yaml_2.3.10 fastmap_1.2.0
## [9] R6_2.6.1 labeling_0.4.3 generics_0.1.3 classInt_0.4-11
## [13] knitr_1.50 tibble_3.2.1 bookdown_0.43 units_0.8-7
## [17] DBI_1.2.3 bslib_0.9.0 pillar_1.10.2 RColorBrewer_1.1-3
## [21] rlang_1.1.6 cachem_1.1.0 xfun_0.52 sass_0.4.10
## [25] S7_0.2.0 viridisLite_0.4.2 cli_3.6.5 withr_3.0.2
## [29] magrittr_2.0.3 class_7.3-23 digest_0.6.37 grid_4.5.2
## [33] lifecycle_1.0.4 vctrs_0.6.5 KernSmooth_2.23-26 proxy_0.4-27
## [37] evaluate_1.0.3 glue_1.8.0 farver_2.1.2 e1071_1.7-16
## [41] rmarkdown_2.29 purrr_1.0.4 tools_4.5.2 pkgconfig_2.0.3
## [45] htmltools_0.5.8.1