Análisis Bioestadístico Aplicado a la Toxinología
Informe integrado de estadística clásica: t de Student/Welch, chi-cuadrado, ANOVA + Tukey, correlación y regresión lineal múltiple.
Integrantes
| Yaritza González |
| Beatrice Di Biase |
| Carmen Rodríguez-Poveda |
Descripción de la base de datos
La base Toxinologia_Panama contiene 500,000 casos e integra variables demográficas, clínicas y toxinológicas. Fue construida con una semilla reproducible (set.seed(2026)) y se utiliza exclusivamente con fines académicos.
| Variable | Descripción | Tipo |
|---|---|---|
| ID | Identificador del caso | Nominal |
| Provincia | Provincia o comarca de Panamá | Nominal |
| Sexo | Sexo del paciente | Nominal dicotómica |
| Edad | Edad en años | Cuantitativa |
| Agente | Agente toxinológico | Nominal |
| Dosis_mgkg | Dosis estimada | Cuantitativa continua |
| Tiempo_Atencion_h | Tiempo hasta la atención | Cuantitativa continua |
| Severidad | Severidad clínica | Ordinal |
| Tratamiento | Tratamiento administrado | Nominal |
| Biomarcador_UL | Biomarcador toxinológico | Cuantitativa continua |
| Evento_Adverso | Presencia de evento adverso | Binaria |
| Numero_Eventos | Número de eventos | Conteo |
| Hospitalizacion_dias | Días de hospitalización | Discreta |
| Tiempo_Supervivencia_dias | Tiempo de seguimiento | Continua |
| Estado_Evento | Evento/censura | Binaria |
Preparación de los datos
Todos los análisis parten del mismo objeto generado por BASE.R. La preparación se realizó de forma reproducible antes de cada prueba: selección de las variables necesarias, exclusión únicamente de valores perdidos cuando correspondía, definición explícita de factores y categorías de referencia, y verificación de la estructura de los casos.
t de Student / Welch para muestras independientes
Comparación del nivel medio del biomarcador entre pacientes femeninos y masculinos.
Ver video explicativo: t de Student / WelchPlanteamiento
Objetivo: comparar el nivel medio del biomarcador entre dos grupos independientes definidos por sexo.
| Elemento | Variable | Tipo y escala |
|---|---|---|
| Respuesta | Biomarcador_UL | Cuantitativa continua, razón |
| Explicativa | Sexo | Cualitativa nominal dicotómica |
| Unidad | Caso toxinológico individual | — |
Hipótesis de investigación: el nivel medio del biomarcador difiere entre pacientes femeninos y masculinos.
H0: μF = μM.
HA: μF ≠ μM.
Justificación: se compara una variable cuantitativa continua entre dos grupos independientes. La t de Student es el análisis principal cuando la igualdad de varianzas es razonable; Welch se usa como sensibilidad.
Estadística descriptiva
| Sexo | n | Media | DE | Mediana | IQR | IC95 % de la media |
|---|---|---|---|---|---|---|
| Femenino | 224550 | 74.79 | 23.95 | 73.27 | 31.20 | [74.69, 74.89] |
| Masculino | 275450 | 74.88 | 23.86 | 73.41 | 31.13 | [74.79, 74.97] |
Las medias fueron prácticamente idénticas: 74.79 U/L en mujeres y 74.88 U/L en hombres. Las desviaciones estándar también fueron casi iguales (23.95 y 23.86 U/L).
Evaluación de supuestos
| Supuesto | Resultado | Lectura |
|---|---|---|
| Independencia | 500,000 ID únicos; 0 duplicados | La estructura de los registros es compatible con casos individuales. |
| Distribución de residuos | Q-Q razonable; Shapiro-Wilk p < 0.001 en ambos grupos | Shapiro detecta desviaciones pequeñas; el diagnóstico gráfico es más informativo con este tamaño muestral. |
| Homogeneidad | Brown-Forsythe p = 0.184; razón DE = 1.0037 | No hay evidencia de heterogeneidad relevante. |
Ver gráfico Q-Q de los residuos
Resultados
Comparación Student vs. Welch
| Metodo | Estadistico_t | gl | IC95_inferior | IC95_superior | p |
|---|---|---|---|---|---|
| t de Student | -1.378 | 499998 | -0.227 | 0.04 | 0.168 |
| t de Welch | -1.377 | 479191 | -0.227 | 0.04 | 0.168 |
Tamaño del efecto
| Medida | Estimacion | IC95_inferior | IC95_superior | Magnitud |
|---|---|---|---|---|
| Cohen d | -0.0039 | -0.0095 | 0.0017 | prácticamente nulo |
Interpretación y conclusión
Interpretación estadística. No se obtuvo evidencia estadística suficiente para afirmar una diferencia en el nivel medio del biomarcador entre pacientes femeninos y masculinos. La estimación está muy próxima a 0, el IC95 % incluye 0 y el tamaño del efecto es prácticamente nulo. Welch produjo prácticamente la misma inferencia.
Interpretación toxinológica. En esta comparación no ajustada, el sexo no mostró una asociación relevante con el nivel del biomarcador.
Código R reproducible
Mostrar código esencial
# Datos
datos_t <- Toxinologia_Panama |>
dplyr::select(ID, Sexo, Biomarcador_UL) |>
dplyr::filter(!is.na(Sexo), !is.na(Biomarcador_UL)) |>
dplyr::mutate(Sexo = factor(Sexo, levels = c("Femenino", "Masculino")))
# Descriptivos
tabla_t_desc <- datos_t |>
dplyr::group_by(Sexo) |>
dplyr::summarise(
n = dplyr::n(),
Media = mean(Biomarcador_UL),
DE = sd(Biomarcador_UL),
Mediana = median(Biomarcador_UL),
IQR = IQR(Biomarcador_UL),
.groups = "drop"
)
# Residuos para diagnóstico
modelo_t <- lm(Biomarcador_UL ~ Sexo, data = datos_t)
# Brown-Forsythe / Levene centrado en mediana
car::leveneTest(
Biomarcador_UL ~ Sexo,
data = datos_t,
center = median
)
# Student: análisis principal
resultado_t_student <- t.test(
Biomarcador_UL ~ Sexo,
data = datos_t,
var.equal = TRUE,
alternative = "two.sided",
conf.level = 0.95
)
# Welch: sensibilidad
resultado_t_welch <- t.test(
Biomarcador_UL ~ Sexo,
data = datos_t,
var.equal = FALSE,
alternative = "two.sided",
conf.level = 0.95
)
# Tamaño del efecto
effectsize::cohens_d(
Biomarcador_UL ~ Sexo,
data = datos_t,
pooled_sd = TRUE,
ci = 0.95
)Chi-cuadrado de independencia
Evaluación de la asociación entre agente toxinológico y severidad clínica.
Ver video explicativo: Chi-cuadrado de independenciaPlanteamiento
Objetivo: evaluar si la distribución de la severidad clínica difiere según el agente toxinológico.
| Elemento | Variable | Tipo y escala |
|---|---|---|
| Variable 1 | Agente | Cualitativa nominal politómica |
| Variable 2 | Severidad | Cualitativa ordinal politómica |
| Unidad | Caso toxinológico individual | — |
H0: Agente y Severidad son independientes.
HA: Agente y Severidad no son independientes.
Justificación: ambas variables son categóricas y la prueba χ² de independencia permite comparar las frecuencias observadas con las esperadas bajo independencia. La naturaleza ordinal de Severidad se reconoce, aunque χ² no utiliza el orden de las categorías.
Estadística descriptiva y visualización
| Agente | Leve | Moderada | Severa | Crítica |
|---|---|---|---|---|
| Animal marino | 32.97 | 36.50 | 21.42 | 9.10 |
| Bothrops asper | 32.89 | 37.07 | 21.10 | 8.94 |
| Crotalus simus | 32.62 | 37.19 | 21.56 | 8.63 |
| Escorpión | 32.96 | 36.84 | 21.27 | 8.93 |
| Hymenoptera | 32.90 | 36.77 | 21.44 | 8.89 |
| Micrurus spp. | 32.66 | 36.87 | 21.38 | 9.09 |
Ver frecuencias observadas
| Agente | Leve | Moderada | Severa | Crítica |
|---|---|---|---|---|
| Animal marino | 18217 | 20170 | 11838 | 5029 |
| Bothrops asper | 55843 | 62954 | 35834 | 15178 |
| Crotalus simus | 11398 | 12998 | 7535 | 3016 |
| Escorpión | 33018 | 36902 | 21305 | 8947 |
| Hymenoptera | 32909 | 36783 | 21452 | 8894 |
| Micrurus spp. | 12993 | 14666 | 8505 | 3616 |
Ver frecuencias esperadas bajo independencia
| Agente | Leve | Moderada | Severa | Crítica |
|---|---|---|---|---|
| Animal marino | 18165 | 20386 | 11766 | 4938 |
| Bothrops asper | 55826 | 62650 | 36159 | 15174 |
| Crotalus simus | 11489 | 12894 | 7442 | 3123 |
| Escorpión | 32932 | 36958 | 21330 | 8951 |
| Hymenoptera | 32888 | 36909 | 21302 | 8939 |
| Micrurus spp. | 13078 | 14677 | 8471 | 3555 |
Evaluación de supuestos
| Indicador | Resultado |
|---|---|
| Casos analizados | 500,000 |
| ID únicos / duplicados | 500,000 / 0 |
| Frecuencia esperada mínima | 3,122.86 |
| Celdas con frecuencia esperada < 5 | 0 % |
Resultados
Diagnóstico exploratorio mediante residuos estandarizados
Los residuos se utilizan solo para localizar pequeñas desviaciones entre frecuencias observadas y esperadas. Dado que el contraste global no fue significativo, no se interpretan celdas individuales como asociaciones confirmadas.
| Agente | Severidad | Residuo_estandarizado |
|---|---|---|
| Bothrops asper | Severa | -2.37 |
| Crotalus simus | Crítica | -2.08 |
| Animal marino | Moderada | -2.02 |
| Bothrops asper | Moderada | 1.88 |
| Animal marino | Crítica | 1.45 |
| Hymenoptera | Severa | 1.30 |
| Crotalus simus | Severa | 1.27 |
| Crotalus simus | Moderada | 1.20 |
| Micrurus spp. | Crítica | 1.12 |
| Crotalus simus | Leve | -1.07 |
Interpretación y conclusión
Interpretación estadística. La prueba χ² no mostró evidencia suficiente de asociación entre agente y severidad, χ²(15) = 19.19, p = 0.205. Además, V de Cramér = 0.0036 indica una asociación de magnitud prácticamente nula.
Interpretación toxinológica. Las proporciones de casos leves, moderados, severos y críticos fueron muy semejantes entre los seis agentes. Las diferencias máximas entre agentes fueron inferiores a 0.7 puntos porcentuales en cada nivel de severidad.
Código R reproducible
Mostrar código esencial
# Datos
datos_chi <- Toxinologia_Panama |>
dplyr::select(ID, Agente, Severidad) |>
dplyr::filter(!is.na(Agente), !is.na(Severidad)) |>
dplyr::mutate(
Agente = factor(Agente),
Severidad = factor(
Severidad,
levels = c("Leve", "Moderada", "Severa", "Crítica"),
ordered = TRUE
)
)
# Tabla y prueba
tabla_chi <- table(datos_chi$Agente, datos_chi$Severidad)
resultado_chi <- chisq.test(tabla_chi, correct = FALSE)
# Tamaño de asociación
chi2 <- unname(resultado_chi$statistic)
n <- sum(tabla_chi)
V_cramer <- sqrt(
chi2 / (n * min(nrow(tabla_chi)-1, ncol(tabla_chi)-1))
)
# Proporciones por agente
100 * prop.table(tabla_chi, margin = 1)
# Gráfico principal: orden clínico Leve → Crítica
ggplot2::ggplot(datos_chi, ggplot2::aes(x = Agente, fill = Severidad)) +
ggplot2::geom_bar(
position = ggplot2::position_fill(reverse = TRUE)
) +
ggplot2::scale_y_continuous(labels = scales::percent_format()) +
ggplot2::labs(
title = "Distribución de la severidad según agente toxinológico",
x = "Agente toxinológico",
y = "Porcentaje de casos",
fill = "Severidad"
) +
ggplot2::theme_minimal(base_size = 12)
# Residuos estandarizados: diagnóstico exploratorio
stdres_chi <- resultado_chi$stdres
ANOVA de un factor + Tukey
Comparación del biomarcador entre seis agentes toxinológicos.
Ver video explicativo: ANOVA de un factor + TukeyPlanteamiento
Objetivo
Objetivo. Evaluar si el nivel medio del biomarcador toxinológico difiere entre los distintos agentes registrados y, si el contraste global resulta significativo, identificar mediante Tukey qué pares de agentes presentan diferencias.
| Elemento | Variable | Tipo y escala |
|---|---|---|
| Variable respuesta | Biomarcador_UL | Cuantitativa continua, escala de razón |
| Variable explicativa | Agente | Cualitativa nominal politómica |
| Unidad de análisis | Caso toxinológico individual | — |
Hipótesis de investigación: el nivel medio del biomarcador toxinológico varía según el agente involucrado.
H0: μ1 = μ2 = μ3 = μ4 = μ5 = μ6.
HA: al menos una de las medias es diferente.
Nivel de significancia: α = 0.05.
Justificación: el ANOVA de un factor es apropiado porque se compara una variable cuantitativa continua entre más de dos grupos independientes definidos por un único factor categórico. Tukey se utiliza después del contraste global para localizar las diferencias controlando el error por comparaciones múltiples.
Estadística descriptiva y visualización
| Agente | n | Media (U/L) | DE | Mediana | IQR |
|---|---|---|---|---|---|
| Animal marino | 55,254 | 70.67 | 23.55 | 69.02 | 30.75 |
| Bothrops asper | 169,809 | 80.52 | 23.36 | 78.96 | 30.45 |
| Crotalus simus | 34,947 | 78.63 | 23.36 | 77.11 | 30.30 |
| Escorpión | 100,172 | 72.59 | 23.42 | 71.06 | 30.51 |
| Hymenoptera | 100,038 | 68.54 | 23.47 | 66.90 | 30.36 |
| Micrurus spp. | 39,780 | 74.56 | 23.45 | 72.98 | 30.27 |
Descripción principal. Bothrops asper presentó la media más alta del biomarcador (80.52 U/L), seguido de Crotalus simus (78.63 U/L). Hymenoptera presentó la media más baja (68.54 U/L). Las desviaciones estándar fueron muy similares entre los seis grupos (23.36–23.55 U/L).
Evaluación de supuestos
| Supuesto | Evaluación | Interpretación |
|---|---|---|
| Independencia | Determinada por el diseño simulado | Cada fila representa un caso toxinológico individual. |
| Distribución de residuos | Q-Q + Shapiro-Wilk sobre 5,000 residuos: p < 0.001 | Shapiro-Wilk rechaza normalidad exacta, pero el Q-Q muestra un ajuste razonable en la zona central y desviaciones principalmente en las colas. El supuesto relevante es la distribución de los residuos; con este tamaño muestral, Shapiro-Wilk es extremadamente sensible a desviaciones pequeñas. |
| Homogeneidad de varianzas | Levene/Brown-Forsythe: p = 0.287; razón de varianzas = 1.017 | No existe evidencia de heterogeneidad relevante. Las dispersiones son prácticamente equivalentes. |
Resultado del ANOVA
| Medida | Estimación | Lectura |
|---|---|---|
| η² | 0.0400 | Magnitud modesta |
| ω² | 0.0399 | Magnitud modesta y prácticamente coincidente con η² |
Magnitud. El tamaño del efecto fue modesto (η² = 0.0400; ω² = 0.0399). Por tanto, la significancia estadística no debe interpretarse como un efecto grande: aproximadamente 4 % de la variabilidad observada del biomarcador está asociada estadísticamente con el agente en este análisis no ajustado.
Comparaciones post hoc de Tukey
El ANOVA global fue significativo, por lo que se aplicó Tukey HSD. Las 15 de 15 comparaciones resultaron estadísticamente significativas (p ajustada < 0.001).
Ver tabla completa de Tukey
| Comparación | Diferencia | IC95 % inferior | IC95 % superior | p ajustada | Significativa |
|---|---|---|---|---|---|
| Hymenoptera – Bothrops asper | -11.98 | -12.24 | -11.71 | < 0.001 | Sí |
| Hymenoptera – Crotalus simus | -10.09 | -10.50 | -9.68 | < 0.001 | Sí |
| Escorpión – Bothrops asper | -7.93 | -8.19 | -7.66 | < 0.001 | Sí |
| Escorpión – Crotalus simus | -6.04 | -6.45 | -5.62 | < 0.001 | Sí |
| Micrurus spp. – Bothrops asper | -5.96 | -6.33 | -5.59 | < 0.001 | Sí |
| Micrurus spp. – Crotalus simus | -4.07 | -4.56 | -3.58 | < 0.001 | Sí |
| Hymenoptera – Escorpión | -4.05 | -4.35 | -3.75 | < 0.001 | Sí |
| Hymenoptera – Animal marino | -2.14 | -2.49 | -1.78 | < 0.001 | Sí |
| Crotalus simus – Bothrops asper | -1.89 | -2.28 | -1.50 | < 0.001 | Sí |
| Escorpión – Animal marino | 1.92 | 1.56 | 2.27 | < 0.001 | Sí |
| Micrurus spp. – Escorpión | 1.96 | 1.57 | 2.36 | < 0.001 | Sí |
| Micrurus spp. – Animal marino | 3.88 | 3.44 | 4.32 | < 0.001 | Sí |
| Micrurus spp. – Hymenoptera | 6.02 | 5.62 | 6.41 | < 0.001 | Sí |
| Crotalus simus – Animal marino | 7.96 | 7.50 | 8.41 | < 0.001 | Sí |
| Bothrops asper – Animal marino | 9.84 | 9.52 | 10.17 | < 0.001 | Sí |
Interpretación y conclusión
Interpretación estadística
Se encontró evidencia estadísticamente significativa de diferencias en el nivel medio del biomarcador entre los seis agentes toxinológicos. Bothrops asper presentó la mayor media (80.52 U/L) y Hymenoptera la menor (68.54 U/L). Tukey confirmó diferencias entre todos los pares de agentes. No obstante, el tamaño del efecto global fue modesto (η² = 0.040), por lo que las diferencias deben valorarse en conjunto con sus magnitudes en U/L y no únicamente mediante los valores p.
Interpretación toxinológica
El nivel del biomarcador no fue uniforme entre los distintos agentes, lo que sugiere que el tipo de exposición está asociado con diferencias en la respuesta biológica representada por este marcador. Sin embargo, el ANOVA de un factor es un análisis no ajustado: no controla otras variables disponibles, como dosis, edad o tratamiento. En consecuencia, las diferencias observadas no deben interpretarse como efectos causales independientes del agente.
Código R reproducible
El código se mantiene dentro del documento para cumplir con el requisito de reproducibilidad, pero permanece plegado para no recargar la lectura del informe.
Mostrar código utilizado en este análisis
# ============================================================
# ASIGNACIÓN 3 - GRUPO 1
# ANOVA DE UN FACTOR + TUKEY
# ============================================================
library(dplyr)
library(ggplot2)
library(car)
library(effectsize)
library(knitr)
# BASE.R debe estar en la misma carpeta
source("BASE.R")
# 1. Preparación
datos_anova <- Toxinologia_Panama %>%
select(ID, Agente, Biomarcador_UL) %>%
filter(!is.na(Agente), !is.na(Biomarcador_UL)) %>%
mutate(Agente = droplevels(factor(Agente)))
# 2. Descriptivos
tabla_descriptiva <- datos_anova %>%
group_by(Agente) %>%
summarise(
n = n(),
Media = mean(Biomarcador_UL),
DE = sd(Biomarcador_UL),
Mediana = median(Biomarcador_UL),
IQR = IQR(Biomarcador_UL),
.groups = "drop"
)
# 3. ANOVA
modelo_anova <- aov(
Biomarcador_UL ~ Agente,
data = datos_anova
)
summary(modelo_anova)
# 4. Supuestos
set.seed(2026)
residuos_anova <- residuals(modelo_anova)
muestra_residuos <- sample(
residuos_anova,
size = min(5000, length(residuos_anova))
)
shapiro.test(muestra_residuos)
car::leveneTest(
Biomarcador_UL ~ Agente,
data = datos_anova,
center = median
)
# 5. Tamaño del efecto
effectsize::eta_squared(
modelo_anova,
partial = FALSE,
ci = 0.95
)
effectsize::omega_squared(
modelo_anova,
partial = FALSE,
ci = 0.95
)
# 6. Tukey
tukey_anova <- TukeyHSD(
modelo_anova,
"Agente",
conf.level = 0.95
)
tukey_anova
# 7. Visualización descriptiva
set.seed(2026)
datos_grafico <- datos_anova %>%
group_by(Agente) %>%
slice_sample(n = 3000) %>%
ungroup()
ggplot(
datos_grafico,
aes(x = Agente, y = Biomarcador_UL, fill = Agente)
) +
geom_violin(alpha = 0.55, trim = FALSE, color = NA) +
geom_boxplot(width = 0.14, alpha = 0.82, outlier.shape = NA) +
labs(
title = "Distribución del biomarcador según agente toxinológico",
x = "Agente toxinológico",
y = "Biomarcador (U/L)"
) +
theme_minimal(base_size = 12) +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 28, hjust = 1)
)
# 8. Q-Q de residuos
diagnostico_residuos <- data.frame(Residuo = muestra_residuos)
ggplot(
diagnostico_residuos,
aes(sample = Residuo)
) +
stat_qq(alpha = 0.35) +
stat_qq_line(linewidth = 0.9) +
labs(
title = "Diagnóstico de normalidad de los residuos",
x = "Cuantiles teóricos",
y = "Cuantiles observados"
) +
theme_minimal(base_size = 12)
Correlación de Pearson / Spearman
Relación entre edad y nivel del biomarcador toxinológico.
Ver video explicativo: Correlación de Pearson / SpearmanPlanteamiento
Objetivo
Evaluar la dirección y magnitud de la relación entre la edad del paciente y el nivel del biomarcador toxinológico.
| Elemento | Variable | Tipo y escala |
|---|---|---|
| Variable 1 | Edad | Cuantitativa, escala de razón |
| Variable 2 | Biomarcador_UL | Cuantitativa continua, escala de razón |
| Unidad de análisis | Caso toxinológico individual | — |
Hipótesis de investigación: existe una relación entre la edad del paciente y el nivel del biomarcador toxinológico.
H0: ρ = 0; no existe correlación poblacional.
HA: ρ ≠ 0; existe correlación poblacional.
Nivel de significancia: α = 0.05.
Justificación: ambas variables son cuantitativas y el propósito es estimar la dirección y fuerza de su asociación. La elección entre Pearson y Spearman se fundamenta principalmente en la forma de la relación, su linealidad y la posible influencia de valores extremos; no se decide únicamente mediante una prueba formal de normalidad.
Estadística descriptiva y visualización
| Variable | n | Media | DE | Mediana | IQR | Mínimo | Máximo |
|---|---|---|---|---|---|---|---|
| Edad (años) | 500,000 | 38.13 | 17.64 | 38.00 | 24.00 | 1 | 90 |
| Biomarcador (U/L) | 500,000 | 74.84 | 23.90 | 73.35 | 31.16 | 1 | 246.8 |
El diagrama muestra una pendiente positiva leve, acompañada de una dispersión individual amplia. Visualmente, la relación parece aproximadamente lineal, pero de baja intensidad.
Selección entre Pearson y Spearman
| Criterio | Resultado | Implicación |
|---|---|---|
| Independencia | Cada fila corresponde a un caso individual | Compatible con el supuesto de observaciones independientes. |
| Tipo de variables | Ambas cuantitativas | Compatible con Pearson. |
| Forma de la relación | Tendencia aproximadamente lineal y positiva | Favorece Pearson como análisis principal. |
| Valores extremos del biomarcador | 6,654 casos (1.331 %) mediante la regla 1.5 × IQR | La proporción es pequeña, pero se contrasta la estabilidad mediante Spearman. |
| Comparación de coeficientes | Pearson r = 0.0870; Spearman ρ = 0.0866 | Resultados prácticamente coincidentes. |
Resultado de la correlación de Pearson
| Medida | Resultado | Interpretación |
|---|---|---|
| r de Pearson | 0.0870 | Asociación positiva muy débil |
| IC95 % | 0.0843 a 0.0898 | El intervalo es estrecho y se mantiene por encima de 0 |
| r² | 0.0076 | Edad sola explica aproximadamente 0.76 % de la variabilidad del biomarcador en un modelo lineal simple |
| p | < 0.001 | Evidencia estadística contra H0 |
Magnitud. La asociación es positiva pero muy débil. El valor r² = 0.0076 equivale al R² de una regresión lineal simple con biomarcador como respuesta; por tanto, la edad por sí sola explica aproximadamente 0.76 % de su variabilidad. Por tanto, el valor p extremadamente pequeño no debe interpretarse como una asociación fuerte.
Comprobación de robustez: Spearman
| Método | Coeficiente | p | Lectura |
|---|---|---|---|
| Pearson | 0.0870 | < 0.001 | Positiva, muy débil |
| Spearman | 0.0866 | < 0.001 | Positiva, muy débil |
La diferencia absoluta entre ambos coeficientes es de apenas 0.0004. Esto respalda que la conclusión general es estable frente al uso de una medida basada en rangos y que los valores extremos observados no están alterando de forma importante el resultado.
Interpretación y conclusión
Interpretación estadística
Existe evidencia estadística de una relación lineal positiva entre la edad y el biomarcador, pero su magnitud es muy débil (r = 0.0870). El IC95 % es estrecho (0.0843–0.0898) debido al gran tamaño muestral, mientras que r² = 0.0076 indica que un modelo lineal simple con la edad como único predictor explica menos del 1 % de la variabilidad del biomarcador. Spearman produjo un resultado prácticamente idéntico (ρ = 0.0866), reforzando la estabilidad de la conclusión.
Interpretación toxinológica
El patrón observado indica que los valores del biomarcador tienden a aumentar ligeramente a medida que aumenta la edad. Sin embargo, la asociación es muy débil, por lo que la edad por sí sola presenta poca capacidad para describir las diferencias individuales del biomarcador. Este análisis es bivariado y no controla otros factores disponibles, como dosis, agente toxinológico o tratamiento; por ello, no permite establecer una relación causal.
Código R reproducible
El código se mantiene dentro del documento para cumplir con el requisito de reproducibilidad, pero permanece plegado para no recargar la lectura.
Mostrar código utilizado en este análisis
# ============================================================
# ANÁLISIS 4 - CORRELACIÓN DE PEARSON / SPEARMAN
# Edad vs biomarcador toxinológico
# ============================================================
library(dplyr)
library(ggplot2)
library(knitr)
source("BASE.R")
datos_cor <- Toxinologia_Panama %>%
select(ID, Edad, Biomarcador_UL) %>%
filter(!is.na(Edad), !is.na(Biomarcador_UL))
# Estadística descriptiva
tabla_descriptiva <- data.frame(
Variable = c("Edad (años)", "Biomarcador (U/L)"),
n = c(nrow(datos_cor), nrow(datos_cor)),
Media = c(mean(datos_cor$Edad), mean(datos_cor$Biomarcador_UL)),
DE = c(sd(datos_cor$Edad), sd(datos_cor$Biomarcador_UL)),
Mediana = c(median(datos_cor$Edad), median(datos_cor$Biomarcador_UL)),
IQR = c(IQR(datos_cor$Edad), IQR(datos_cor$Biomarcador_UL)),
Minimo = c(min(datos_cor$Edad), min(datos_cor$Biomarcador_UL)),
Maximo = c(max(datos_cor$Edad), max(datos_cor$Biomarcador_UL))
)
# Gráfico de dispersión (submuestra solo para visualización)
set.seed(2026)
datos_grafico <- datos_cor %>%
slice_sample(n = min(12000, nrow(datos_cor)))
ggplot(datos_grafico, aes(x = Edad, y = Biomarcador_UL)) +
geom_point(alpha = 0.16) +
geom_smooth(method = "lm", formula = y ~ x, se = TRUE) +
labs(
title = "Relación entre edad y biomarcador toxinológico",
x = "Edad (años)",
y = "Biomarcador (U/L)"
) +
theme_minimal(base_size = 12)
# Medias del biomarcador por edad para revisar la forma de la relación
tabla_edad <- datos_cor %>%
group_by(Edad) %>%
summarise(
n = n(),
Media_biomarcador = mean(Biomarcador_UL),
.groups = "drop"
)
ggplot(tabla_edad, aes(x = Edad, y = Media_biomarcador)) +
geom_point() +
geom_smooth(method = "lm", formula = y ~ x, se = TRUE) +
labs(
title = "Media del biomarcador según edad",
x = "Edad (años)",
y = "Media del biomarcador (U/L)"
) +
theme_minimal(base_size = 12)
# Valores extremos del biomarcador
Q1_bio <- quantile(datos_cor$Biomarcador_UL, 0.25)
Q3_bio <- quantile(datos_cor$Biomarcador_UL, 0.75)
IQR_bio <- IQR(datos_cor$Biomarcador_UL)
lim_inf <- Q1_bio - 1.5 * IQR_bio
lim_sup <- Q3_bio + 1.5 * IQR_bio
sum(
datos_cor$Biomarcador_UL < lim_inf |
datos_cor$Biomarcador_UL > lim_sup
)
# Pearson: análisis principal
pearson_resultado <- cor.test(
datos_cor$Edad,
datos_cor$Biomarcador_UL,
method = "pearson",
alternative = "two.sided",
conf.level = 0.95
)
pearson_resultado
r_pearson <- unname(pearson_resultado$estimate)
r2_pearson <- r_pearson^2
r2_pearson
# Spearman: comprobación complementaria
spearman_resultado <- cor.test(
datos_cor$Edad,
datos_cor$Biomarcador_UL,
method = "spearman",
alternative = "two.sided",
exact = FALSE
)
spearman_resultado
Regresión lineal múltiple
Asociación ajustada de dosis con biomarcador considerando edad, sexo, agente y tratamiento.
Ver video explicativo: Regresión lineal múltiplePlanteamiento
Objetivo
Estimar la asociación ajustada entre la dosis estimada y el nivel del biomarcador toxinológico, considerando simultáneamente la edad, el sexo, el agente toxinológico y el tratamiento administrado.
| Función | Variable | Tipo y escala |
|---|---|---|
| Respuesta | Biomarcador_UL | Cuantitativa continua, razón |
| Predictor principal | Dosis_mgkg | Cuantitativa continua, razón |
| Ajuste | Edad | Cuantitativa, razón |
| Ajuste | Sexo | Cualitativa nominal dicotómica |
| Ajuste | Agente | Cualitativa nominal politómica |
| Ajuste | Tratamiento | Cualitativa nominal politómica |
Hipótesis de investigación: la dosis estimada se relaciona con el nivel del biomarcador aun después de considerar simultáneamente las demás variables incluidas en el modelo.
H0 principal: βDosis = 0.
HA principal: βDosis ≠ 0.
Hipótesis global: H0: todos los coeficientes de pendiente son 0; HA: al menos uno es distinto de 0.
Nivel de significancia: α = 0.05.
Justificación: la regresión lineal múltiple es apropiada porque la variable respuesta es cuantitativa continua y se desea estudiar simultáneamente predictores cuantitativos y categóricos. El modelo permite estimar la asociación de la dosis con el biomarcador manteniendo constantes las demás variables y cuantificar la capacidad explicativa global mediante R² y R² ajustado.
Estadística descriptiva y visualización
| Variable cuantitativa | n | Media | DE | Mediana | IQR |
|---|---|---|---|---|---|
| Biomarcador (U/L) | 500,000 | 74.84 | 23.90 | 73.35 | 31.16 |
| Dosis (mg/kg) | 500,000 | 3.75 | 2.37 | 3.27 | 2.97 |
| Edad (años) | 500,000 | 38.13 | 17.64 | 38.00 | 24.00 |
Ver distribución de las variables categóricas
| Variable | Categoría | n | % |
|---|---|---|---|
| Sexo | Femenino | 224,550 | 44.91 |
| Sexo | Masculino | 275,450 | 55.09 |
| Agente | Animal marino | 55,254 | 11.05 |
| Agente | Bothrops asper | 169,809 | 33.96 |
| Agente | Crotalus simus | 34,947 | 6.99 |
| Agente | Escorpión | 100,172 | 20.03 |
| Agente | Hymenoptera | 100,038 | 20.01 |
| Agente | Micrurus spp. | 39,780 | 7.96 |
| Tratamiento | Soporte | 149,598 | 29.92 |
| Tratamiento | Antiveneno tardío | 124,823 | 24.96 |
| Tratamiento | Antiveneno temprano | 225,579 | 45.12 |
El gráfico muestra una asociación positiva clara entre la dosis y el biomarcador. La regresión múltiple permitirá estimar esta relación después de controlar simultáneamente las demás variables incluidas en el modelo.
Evaluación de supuestos
| Supuesto | Evaluación | Conclusión |
|---|---|---|
| Independencia | Determinada por el diseño de los registros | Cada fila corresponde a un caso individual. |
| Linealidad | Residuos frente a ajustados | La línea suavizada permanece cerca de 0; no se observa una curvatura sistemática importante. |
| Normalidad de residuos | Gráfico Q-Q | Los residuos siguen muy de cerca la diagonal, con desviaciones leves en las colas. |
| Homocedasticidad | Breusch-Pagan: BP = 3.293; gl = 10; p = 0.974 | No existe evidencia de heterocedasticidad. |
| Multicolinealidad | GVIF ajustado = 1.000 para todos los predictores | No se identifican problemas de colinealidad. |
| Observaciones influyentes | Distancia de Cook máxima = 0.0001 | Ninguna observación se aproxima a valores de Cook considerados materialmente influyentes; no se justifica eliminar casos. |
Modelo y coeficientes ajustados
| Medida global | Resultado |
|---|---|
| R² | 0.6058 |
| R² ajustado | 0.6058 |
| F global | 76,843.663 |
| Grados de libertad | 10 y 499,989 |
| p global | < 0.001 |
Coeficientes
| Predictor | β | IC95 % | p | Interpretación ajustada |
|---|---|---|---|---|
| Dosis (mg/kg) | 7.007 | 6.989 a 7.024 | < 0.001 | +7.007 U/L por cada 1 mg/kg adicional. |
| Edad (años) | 0.119 | 0.117 a 0.121 | < 0.001 | +0.119 U/L por cada año adicional. |
| Masculino vs. Femenino | 0.014 | -0.069 a 0.098 | 0.736 | No existe evidencia de diferencia ajustada por sexo. |
| Bothrops asper vs. Animal marino | 9.955 | 9.811 a 10.099 | < 0.001 | Media ajustada mayor en 9.955 U/L. |
| Crotalus simus vs. Animal marino | 8.080 | 7.879 a 8.281 | < 0.001 | Media ajustada mayor en 8.080 U/L. |
| Escorpión vs. Animal marino | 1.922 | 1.766 a 2.078 | < 0.001 | Media ajustada mayor en 1.922 U/L. |
| Hymenoptera vs. Animal marino | -2.074 | -2.230 a -1.918 | < 0.001 | Media ajustada menor en 2.074 U/L. |
| Micrurus spp. vs. Animal marino | 4.010 | 3.816 a 4.203 | < 0.001 | Media ajustada mayor en 4.010 U/L. |
| Antiveneno tardío vs. Soporte | -6.027 | -6.140 a -5.914 | < 0.001 | Media ajustada menor en 6.027 U/L. |
| Antiveneno temprano vs. Soporte | -14.992 | -15.091 a -14.894 | < 0.001 | Media ajustada menor en 14.992 U/L. |
Comprobación complementaria
Como comprobación secundaria se calcularon errores estándar robustos HC3. Los coeficientes y la inferencia fueron prácticamente idénticos a los resultados convencionales, por lo que no se modifican las conclusiones principales.
Interpretación y conclusión
Interpretación estadística
El modelo de regresión lineal múltiple explicó aproximadamente el 60.58 % de la variabilidad observada del biomarcador y fue globalmente significativo. Para la pregunta principal, la dosis mantuvo una asociación positiva y precisa después del ajuste: β = 7.007 U/L por mg/kg, IC95 % 6.989–7.024, p < 0.001. La edad, el agente y el tratamiento también presentaron asociaciones ajustadas, mientras que el sexo no mostró evidencia de una contribución independiente una vez consideradas las demás variables.
Interpretación toxinológica
Después de considerar simultáneamente edad, sexo, agente toxinológico y tratamiento, una mayor dosis se asocia con niveles mayores del biomarcador. La magnitud estimada indica un aumento promedio cercano a 7 U/L por cada incremento de 1 mg/kg, manteniendo constantes las demás variables. Asimismo, el agente y el tratamiento presentan diferencias ajustadas relevantes en el nivel del biomarcador. Estas estimaciones describen asociaciones dentro del modelo y no deben interpretarse automáticamente como efectos causales.
Código R reproducible
El código se mantiene dentro del documento para cumplir con el requisito de reproducibilidad, pero permanece plegado para no recargar la lectura del informe.
Mostrar código utilizado en este análisis
# ============================================================
# ANÁLISIS 5 - REGRESIÓN LINEAL MÚLTIPLE
# Biomarcador ~ Dosis + Edad + Sexo + Agente + Tratamiento
# ============================================================
library(dplyr)
library(ggplot2)
library(car)
library(lmtest)
library(sandwich)
source("BASE.R")
datos_reg <- Toxinologia_Panama %>%
select(
ID, Biomarcador_UL, Dosis_mgkg, Edad,
Sexo, Agente, Tratamiento
) %>%
filter(complete.cases(.)) %>%
mutate(
Sexo = relevel(factor(Sexo), ref = "Femenino"),
Agente = relevel(factor(Agente), ref = "Animal marino"),
Tratamiento = relevel(factor(Tratamiento), ref = "Soporte")
)
# Modelo principal
modelo_reg <- lm(
Biomarcador_UL ~
Dosis_mgkg +
Edad +
Sexo +
Agente +
Tratamiento,
data = datos_reg
)
summary(modelo_reg)
confint(modelo_reg, level = 0.95)
# Diagnóstico de homocedasticidad
lmtest::bptest(modelo_reg)
# Multicolinealidad
car::vif(modelo_reg)
# Observaciones influyentes
cook <- cooks.distance(modelo_reg)
max(cook)
sum(cook > 4 / nrow(datos_reg))
100 * mean(cook > 4 / nrow(datos_reg))
# Errores estándar robustos HC3
lmtest::coeftest(
modelo_reg,
vcov. = sandwich::vcovHC(
modelo_reg,
type = "HC3"
)
)
# Visualización principal
set.seed(2026)
datos_grafico <- datos_reg %>%
slice_sample(n = min(12000, nrow(datos_reg)))
ggplot(
datos_grafico,
aes(x = Dosis_mgkg, y = Biomarcador_UL)
) +
geom_point(alpha = 0.16) +
geom_smooth(method = "lm", formula = y ~ x, se = TRUE) +
labs(
title = "Relación entre dosis y biomarcador toxinológico",
x = "Dosis estimada (mg/kg)",
y = "Biomarcador (U/L)"
) +
theme_minimal(base_size = 12)
# Diagnóstico gráfico de residuos
set.seed(2026)
residuos_reg <- residuals(modelo_reg)
ajustados_reg <- fitted(modelo_reg)
indices_diag <- sample(
seq_along(residuos_reg),
size = min(6000, length(residuos_reg))
)
datos_diag <- data.frame(
Ajustado = ajustados_reg[indices_diag],
Residuo = residuos_reg[indices_diag]
)
ggplot(datos_diag, aes(x = Ajustado, y = Residuo)) +
geom_point(alpha = 0.22) +
geom_hline(yintercept = 0, linetype = "dashed") +
geom_smooth(method = "loess", formula = y ~ x, se = FALSE) +
theme_minimal(base_size = 12)
ggplot(datos_diag, aes(sample = Residuo)) +
stat_qq(alpha = 0.35) +
stat_qq_line() +
theme_minimal(base_size = 12)
Conclusiones generales
Las cinco pruebas responden preguntas distintas y complementarias. Los resultados muestran que la significancia estadística debe interpretarse siempre junto con la magnitud del efecto o de la asociación.
| Prueba | Resultado central | Conclusión |
|---|---|---|
| 1. t de Student / Welch | t(499,998) = −1.378; p = 0.168; d = −0.0039 | No se encontró evidencia de diferencia del biomarcador por sexo; la diferencia fue prácticamente nula. |
| 2. Chi-cuadrado | χ²(15) = 19.19; p = 0.205; V = 0.0036 | No se encontró evidencia de asociación entre agente y severidad; la magnitud fue prácticamente nula. |
| 3. ANOVA + Tukey | F(5, 499,994) = 4161.79; p < 0.001; η² = 0.040 | El biomarcador difiere entre agentes; la magnitud global es modesta y Tukey detectó diferencias en los 15 pares. |
| 4. Pearson / Spearman | r = 0.0870; IC95 % 0.0843–0.0898; p < 0.001 | Existe una relación positiva entre edad y biomarcador, pero es muy débil; Spearman confirmó la misma conclusión. |
| 5. Regresión múltiple | β dosis = 7.007 U/L por mg/kg; R² ajustado = 0.6058; p < 0.001 | La dosis mantiene una asociación positiva con el biomarcador después del ajuste; el modelo explica 60.58 % de la variabilidad observada. |