Asignación práctica · Grupo 1

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.

VariableDescripciónTipo
IDIdentificador del casoNominal
ProvinciaProvincia o comarca de PanamáNominal
SexoSexo del pacienteNominal dicotómica
EdadEdad en añosCuantitativa
AgenteAgente toxinológicoNominal
Dosis_mgkgDosis estimadaCuantitativa continua
Tiempo_Atencion_hTiempo hasta la atenciónCuantitativa continua
SeveridadSeveridad clínicaOrdinal
TratamientoTratamiento administradoNominal
Biomarcador_ULBiomarcador toxinológicoCuantitativa continua
Evento_AdversoPresencia de evento adversoBinaria
Numero_EventosNúmero de eventosConteo
Hospitalizacion_diasDías de hospitalizaciónDiscreta
Tiempo_Supervivencia_diasTiempo de seguimientoContinua
Estado_EventoEvento/censuraBinaria

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.

Casos de la base
500,000
Identificadores
500,000 únicos
ID duplicados
0
Criterio general. La significancia estadística se interpreta junto con intervalos de confianza y medidas de magnitud. Debido al gran tamaño muestral, un valor p pequeño no se considera por sí solo evidencia de importancia práctica o toxinológica.
Análisis 1

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 / Welch

Planteamiento

Observación general de la base: los datos utilizados fueron generados con fines académicos. La interpretación se limita al contexto del ejercicio.
¿El nivel medio del biomarcador toxinológico difiere entre pacientes femeninos y masculinos?

Objetivo: comparar el nivel medio del biomarcador entre dos grupos independientes definidos por sexo.

ElementoVariableTipo y escala
RespuestaBiomarcador_ULCuantitativa continua, razón
ExplicativaSexoCualitativa nominal dicotómica
UnidadCaso 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

Biomarcador toxinológico según sexo
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).

Nivel promedio del biomarcador toxinológico según sexo con intervalo de confianza del 95 por ciento
Figura 1. Media del biomarcador e intervalo de confianza del 95 % según sexo.

Evaluación de supuestos

SupuestoResultadoLectura
Independencia500,000 ID únicos; 0 duplicadosLa estructura de los registros es compatible con casos individuales.
Distribución de residuosQ-Q razonable; Shapiro-Wilk p < 0.001 en ambos gruposShapiro detecta desviaciones pequeñas; el diagnóstico gráfico es más informativo con este tamaño muestral.
HomogeneidadBrown-Forsythe p = 0.184; razón DE = 1.0037No hay evidencia de heterogeneidad relevante.
Ver gráfico Q-Q de los residuos
Gráficos Q-Q de los residuos por sexo
Diagnóstico complementario de la distribución de los residuos.
Decisión: se mantiene la t de Student como análisis principal y se reporta Welch como comprobación de sensibilidad.

Resultados

Diferencia F − M
−0.09 U/L
t de Student
t(499,998) = −1.378
Significancia
p = 0.168
Resultado principal: diferencia = −0.09 U/L, IC95 % [−0.227, 0.040], p = 0.168. El tamaño del efecto fue prácticamente nulo: Cohen d = −0.0039, IC95 % [−0.0095, 0.0017].
Comparación Student vs. Welch
Comparación entre t de Student y t de 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
Tamaño del efecto de la diferencia entre sexos
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.

Conclusión: con α = 0.05, no se rechaza H0.

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
)
Análisis 2

Chi-cuadrado de independencia

Evaluación de la asociación entre agente toxinológico y severidad clínica.

Ver video explicativo: Chi-cuadrado de independencia

Planteamiento

Observación general de la base: los datos utilizados fueron generados con fines académicos. La interpretación se limita al contexto del ejercicio.
¿Existe asociación entre el agente toxinológico y la severidad del cuadro clínico?

Objetivo: evaluar si la distribución de la severidad clínica difiere según el agente toxinológico.

ElementoVariableTipo y escala
Variable 1AgenteCualitativa nominal politómica
Variable 2SeveridadCualitativa ordinal politómica
UnidadCaso 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

Porcentaje de severidad dentro de cada agente toxinológico
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
Distribución de la severidad según agente toxinológicoComposición porcentual dentro de cada agente · orden clínico Leve → Crítica0%25%50%75%100%Animal marinoBothrops asperCrotalus simusEscorpiónHymenopteraMicrurus spp.SeveridadLeveModeradaSeveraCríticaAgente toxinológicoPorcentaje de casos
Figura 2. Composición porcentual de la severidad por agente. Las distribuciones son visualmente muy similares; el orden se presenta de Leve a Crítica.
Ver frecuencias observadas
Frecuencias observadas de severidad según agente toxinológico
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
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

IndicadorResultado
Casos analizados500,000
ID únicos / duplicados500,000 / 0
Frecuencia esperada mínima3,122.86
Celdas con frecuencia esperada < 50 %
Decisión: los supuestos para la aproximación χ² se cumplen ampliamente.

Resultados

Chi-cuadrado
χ²(15) = 19.19
Significancia
p = 0.205
V de Cramér
0.0036
Resultado principal: no se obtuvo evidencia estadística suficiente de asociación. El tamaño de asociación fue prácticamente nulo (V = 0.0036).
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.

Diez combinaciones con mayor residuo estandarizado absoluto
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.

Conclusión: con α = 0.05, no se rechaza H0.

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
Análisis 3

ANOVA de un factor + Tukey

Comparación del biomarcador entre seis agentes toxinológicos.

Ver video explicativo: ANOVA de un factor + Tukey

Planteamiento

Observación general de la base: los datos utilizados en esta asignación fueron generados con fines académicos. Por ello, las interpretaciones deben entenderse dentro del contexto del ejercicio y no como estimaciones epidemiológicas reales de Panamá.
¿Existen diferencias en el nivel medio del biomarcador toxinológico según el agente toxinológico involucrado en el caso?

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.

ElementoVariableTipo y escala
Variable respuestaBiomarcador_ULCuantitativa continua, escala de razón
Variable explicativaAgenteCualitativa nominal politómica
Unidad de análisisCaso 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

AgentenMedia (U/L)DEMedianaIQR
Animal marino55,25470.6723.5569.0230.75
Bothrops asper169,80980.5223.3678.9630.45
Crotalus simus34,94778.6323.3677.1130.30
Escorpión100,17272.5923.4271.0630.51
Hymenoptera100,03868.5423.4766.9030.36
Micrurus spp.39,78074.5623.4572.9830.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).

Distribución del biomarcador según agente toxinológico
Figura 1. Distribución del biomarcador por agente. La muestra de 3,000 casos por agente se utilizó únicamente para facilitar la visualización; el ANOVA se realizó con los 500,000 casos.

Evaluación de supuestos

SupuestoEvaluaciónInterpretació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.
Gráfico Q-Q de residuos del ANOVA
Figura 2. Gráfico Q-Q de una muestra reproducible de 5,000 residuos.
Decisión sobre los supuestos. Aunque Shapiro-Wilk rechaza la normalidad exacta, el diagnóstico gráfico de los residuos muestra que la principal desviación se concentra en las colas. La homogeneidad de varianzas está bien respaldada (p = 0.287; razón = 1.017) y los tamaños de grupo son muy grandes. En este contexto, el ANOVA se mantiene como análisis principal, interpretando sus resultados junto con el tamaño del efecto y las diferencias en unidades originales.

Resultado del ANOVA

Estadístico
F(5, 499,994) = 4161.79
Significancia
p < 0.001
Tamaño del efecto
η² = 0.040
MedidaEstimaciónLectura
η²0.0400Magnitud modesta
ω²0.0399Magnitud modesta y prácticamente coincidente con η²
Significancia estadística. El ANOVA mostró diferencias globales estadísticamente significativas entre los seis agentes, F(5, 499,994) = 4161.793, p < 0.001. Con α = 0.05, se rechaza H0.

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).

Comparaciones múltiples de Tukey
Figura 3. Diferencias de medias e IC95 % de las 15 comparaciones de Tukey. Ningún intervalo cruza 0.
Lectura práctica. La mayor separación se observó entre Bothrops asper y Hymenoptera: aproximadamente 11.98 U/L. Algunas diferencias fueron mucho menores, como Bothrops asper frente a Crotalus simus (1.89 U/L) y Escorpión frente a Animal marino (1.92 U/L). Esto demuestra por qué, con 500,000 casos, no es suficiente informar solamente que p < 0.001.
Ver tabla completa de Tukey
ComparaciónDiferenciaIC95 % inferiorIC95 % superiorp ajustadaSignificativa
Hymenoptera – Bothrops asper-11.98-12.24-11.71< 0.001
Hymenoptera – Crotalus simus-10.09-10.50-9.68< 0.001
Escorpión – Bothrops asper-7.93-8.19-7.66< 0.001
Escorpión – Crotalus simus-6.04-6.45-5.62< 0.001
Micrurus spp. – Bothrops asper-5.96-6.33-5.59< 0.001
Micrurus spp. – Crotalus simus-4.07-4.56-3.58< 0.001
Hymenoptera – Escorpión-4.05-4.35-3.75< 0.001
Hymenoptera – Animal marino-2.14-2.49-1.78< 0.001
Crotalus simus – Bothrops asper-1.89-2.28-1.50< 0.001
Escorpión – Animal marino1.921.562.27< 0.001
Micrurus spp. – Escorpión1.961.572.36< 0.001
Micrurus spp. – Animal marino3.883.444.32< 0.001
Micrurus spp. – Hymenoptera6.025.626.41< 0.001
Crotalus simus – Animal marino7.967.508.41< 0.001
Bothrops asper – Animal marino9.849.5210.17< 0.001

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.

Conclusión. Se rechaza H0 y se concluye que existen diferencias en el nivel medio del biomarcador según el agente toxinológico. El ANOVA fue significativo, Tukey mostró diferencias entre los 15 pares y la magnitud global del efecto fue pequeña. La interpretación final debe considerar simultáneamente la significancia estadística, el tamaño del efecto, las diferencias en U/L y el carácter simulado de los datos.

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)
Análisis 4

Correlación de Pearson / Spearman

Relación entre edad y nivel del biomarcador toxinológico.

Ver video explicativo: Correlación de Pearson / Spearman

Planteamiento

Observación general de la base: los datos utilizados en esta asignación fueron generados con fines académicos. Por ello, las interpretaciones deben entenderse dentro del contexto del ejercicio y no como estimaciones epidemiológicas reales de Panamá.
¿Existe relación entre la edad del paciente y el nivel del biomarcador toxinológico?

Objetivo

Evaluar la dirección y magnitud de la relación entre la edad del paciente y el nivel del biomarcador toxinológico.

ElementoVariableTipo y escala
Variable 1EdadCuantitativa, escala de razón
Variable 2Biomarcador_ULCuantitativa continua, escala de razón
Unidad de análisisCaso 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

VariablenMediaDEMedianaIQRMínimoMáximo
Edad (años)500,00038.1317.6438.0024.00190
Biomarcador (U/L)500,00074.8423.9073.3531.161246.8
Relación entre edad y biomarcador toxinológico
Figura 4. Diagrama de dispersión de edad y biomarcador. Se utilizaron 12,000 casos únicamente para facilitar la visualización; el cálculo de la correlación empleó los 500,000 registros.

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.

Media del biomarcador según edad
Figura 5. Media del biomarcador por edad. El patrón de las medias es aproximadamente lineal y creciente.

Selección entre Pearson y Spearman

CriterioResultadoImplicación
IndependenciaCada fila corresponde a un caso individualCompatible 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.
Decisión metodológica. Pearson se mantiene como prueba principal porque ambas variables son cuantitativas y el patrón observado es aproximadamente lineal, sin evidencia de que los valores extremos alteren materialmente la asociación. Spearman se utiliza como análisis de sensibilidad; su coeficiente prácticamente idéntico confirma que la conclusión no depende del uso de valores originales frente a rangos.

Resultado de la correlación de Pearson

Coeficiente
r = 0.0870
Significancia
p < 0.001
R² equivalente (modelo lineal simple)
r² = 0.0076
MedidaResultadoInterpretación
r de Pearson0.0870Asociación positiva muy débil
IC95 %0.0843 a 0.0898El intervalo es estrecho y se mantiene por encima de 0
0.0076Edad sola explica aproximadamente 0.76 % de la variabilidad del biomarcador en un modelo lineal simple
p< 0.001Evidencia estadística contra H0
Significancia estadística. La correlación fue estadísticamente significativa (r = 0.0870; IC95 %: 0.0843–0.0898; p < 0.001), por lo que se rechaza 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étodoCoeficientepLectura
Pearson0.0870< 0.001Positiva, muy débil
Spearman0.0866< 0.001Positiva, 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.

Conclusión. Con α = 0.05, se rechaza H0 y se concluye que existe evidencia de una relación lineal positiva entre la edad y el nivel del biomarcador toxinológico. No obstante, la correlación es muy débil (r = 0.0870), por lo que su importancia práctica es limitada. La similitud con Spearman (ρₛ = 0.0866) confirma que la conclusión es estable frente al uso de rangos.

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
Análisis 5

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últiple

Planteamiento

Observación general de la base: los datos utilizados en esta asignación fueron generados con fines académicos. Por ello, las interpretaciones deben entenderse dentro del contexto del ejercicio y no como estimaciones epidemiológicas reales de Panamá.
¿Cómo se asocia la dosis estimada con el nivel del biomarcador toxinológico después de ajustar simultáneamente por edad, sexo, agente toxinológico y tratamiento?

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ónVariableTipo y escala
RespuestaBiomarcador_ULCuantitativa continua, razón
Predictor principalDosis_mgkgCuantitativa continua, razón
AjusteEdadCuantitativa, razón
AjusteSexoCualitativa nominal dicotómica
AjusteAgenteCualitativa nominal politómica
AjusteTratamientoCualitativa 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.

Selección de predictores a priori: la edad se incluye como característica fisiológica y demográfica; el sexo como covariable demográfica; el agente por las diferencias esperables entre perfiles toxinológicos; y el tratamiento por su relación clínica con la respuesta observada. Las variables se especificaron antes de interpretar su significancia, evitando una selección automática basada únicamente en valores p.
Categorías de referencia: Femenino para sexo, Animal marino para agente y Soporte para tratamiento. Los coeficientes de las categorías restantes se interpretan respecto de estas referencias.

Estadística descriptiva y visualización

Variable cuantitativanMediaDEMedianaIQR
Biomarcador (U/L)500,00074.8423.9073.3531.16
Dosis (mg/kg)500,0003.752.373.272.97
Edad (años)500,00038.1317.6438.0024.00
Ver distribución de las variables categóricas
VariableCategorían%
SexoFemenino224,55044.91
SexoMasculino275,45055.09
AgenteAnimal marino55,25411.05
AgenteBothrops asper169,80933.96
AgenteCrotalus simus34,9476.99
AgenteEscorpión100,17220.03
AgenteHymenoptera100,03820.01
AgenteMicrurus spp.39,7807.96
TratamientoSoporte149,59829.92
TratamientoAntiveneno tardío124,82324.96
TratamientoAntiveneno temprano225,57945.12
Relación entre dosis y biomarcador toxinológico
Figura 6. Relación entre dosis y biomarcador. Se utilizaron 12,000 casos únicamente para facilitar la visualización; el modelo de regresión empleó los 500,000 registros.

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

SupuestoEvaluaciónConclusió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.
Residuos frente a valores ajustados
Figura 7. Residuos frente a valores ajustados sobre una muestra reproducible de 6,000 residuos.
Gráfico Q-Q de los residuos
Figura 8. Gráfico Q-Q de una muestra reproducible de 6,000 residuos.
Decisión sobre los supuestos. Los diagnósticos respaldan el uso del modelo lineal: no se detectó heterocedasticidad (Breusch-Pagan p = 0.974), no existe multicolinealidad relevante (GVIF ajustado = 1.000) y el Q-Q muestra una aproximación muy buena a la normalidad, con desviaciones leves en las colas. La distancia de Cook máxima fue 0.0001, por lo que no se identificaron observaciones individualmente dominantes.

Modelo y coeficientes ajustados

Coeficiente ajustado de dosis
β = 7.007 U/L por mg/kg
R² ajustado
0.6058
Modelo global
p < 0.001
Medida globalResultado
0.6058
R² ajustado0.6058
F global76,843.663
Grados de libertad10 y 499,989
p global< 0.001
Ajuste global. El modelo fue estadísticamente significativo, F(10, 499,989) = 76,843.663, p < 0.001. El R² ajustado = 0.6058 indica que el conjunto de predictores incluido explica aproximadamente 60.58 % de la variabilidad observada del biomarcador; esta capacidad explicativa no implica causalidad.

Coeficientes

PredictorβIC95 %pInterpretación ajustada
Dosis (mg/kg)7.0076.989 a 7.024< 0.001+7.007 U/L por cada 1 mg/kg adicional.
Edad (años)0.1190.117 a 0.121< 0.001+0.119 U/L por cada año adicional.
Masculino vs. Femenino0.014-0.069 a 0.0980.736No existe evidencia de diferencia ajustada por sexo.
Bothrops asper vs. Animal marino9.9559.811 a 10.099< 0.001Media ajustada mayor en 9.955 U/L.
Crotalus simus vs. Animal marino8.0807.879 a 8.281< 0.001Media ajustada mayor en 8.080 U/L.
Escorpión vs. Animal marino1.9221.766 a 2.078< 0.001Media ajustada mayor en 1.922 U/L.
Hymenoptera vs. Animal marino-2.074-2.230 a -1.918< 0.001Media ajustada menor en 2.074 U/L.
Micrurus spp. vs. Animal marino4.0103.816 a 4.203< 0.001Media ajustada mayor en 4.010 U/L.
Antiveneno tardío vs. Soporte-6.027-6.140 a -5.914< 0.001Media ajustada menor en 6.027 U/L.
Antiveneno temprano vs. Soporte-14.992-15.091 a -14.894< 0.001Media ajustada menor en 14.992 U/L.
Resultado principal de la dosis. Manteniendo constantes edad, sexo, agente toxinológico y tratamiento, cada incremento de 1 mg/kg en la dosis se asocia con un aumento promedio de 7.007 U/L en el biomarcador (IC95 %: 6.989–7.024; p < 0.001). El sexo fue el único predictor individual sin evidencia estadística de asociación ajustada (p = 0.736).

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.

Lectura metodológica. La concordancia entre la inferencia convencional y HC3, junto con Breusch-Pagan p = 0.974, refuerza que las conclusiones principales no dependen de un problema importante de heterocedasticidad.

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.

Conclusión. Con α = 0.05, se rechaza H0 para el coeficiente de dosis. Existe evidencia de una asociación lineal positiva entre la dosis estimada y el nivel del biomarcador después de ajustar por edad, sexo, agente toxinológico y tratamiento. El modelo presenta R² ajustado = 0.6058 y los diagnósticos no muestran problemas importantes que invaliden la interpretación.

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.

PruebaResultado centralConclusión
1. t de Student / Welcht(499,998) = −1.378; p = 0.168; d = −0.0039No 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.0036No se encontró evidencia de asociación entre agente y severidad; la magnitud fue prácticamente nula.
3. ANOVA + TukeyF(5, 499,994) = 4161.79; p < 0.001; η² = 0.040El biomarcador difiere entre agentes; la magnitud global es modesta y Tukey detectó diferencias en los 15 pares.
4. Pearson / Spearmanr = 0.0870; IC95 % 0.0843–0.0898; p < 0.001Existe 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.001La dosis mantiene una asociación positiva con el biomarcador después del ajuste; el modelo explica 60.58 % de la variabilidad observada.
Síntesis. El sexo y la relación agente–severidad no mostraron asociaciones relevantes en los análisis bivariados. En contraste, el biomarcador sí presentó diferencias según agente y una asociación positiva, aunque muy débil, con la edad. El modelo multivariable mostró que la dosis, el agente, el tratamiento y la edad aportan información ajustada sobre el biomarcador, mientras que el sexo no presentó una contribución independiente estadísticamente detectable.
Alcance de las conclusiones. Los análisis describen asociaciones dentro de la base académica utilizada. No deben interpretarse como evidencia causal ni como estimaciones epidemiológicas reales de Panamá.