JuveYell

Preliminares

Para este ejercicio, se utilizaron los resultados obtenidos en la Actividad 4, que se enfocaron en obtener un análisis y visualizaciones avanzadad sobre el dataset Heart Disease UCI.

Estructura del dataframe

A continuación se presenta el detalle de estructura del dataframe Heart Disease UCI, para verificar la asignación correcta del tipo de dato.

str(heart)
## 'data.frame':    920 obs. of  15 variables:
##  $ age     : int  63 67 67 37 41 56 62 57 63 53 ...
##  $ sex     : chr  "Male" "Male" "Male" "Male" ...
##  $ dataset : chr  "Cleveland" "Cleveland" "Cleveland" "Cleveland" ...
##  $ cp      : chr  "typical angina" "asymptomatic" "asymptomatic" "non-anginal" ...
##  $ trestbps: num  145 160 120 130 130 ...
##  $ chol    : num  233 286 229 250 204 236 268 354 254 203 ...
##  $ fbs     : logi  TRUE FALSE FALSE FALSE FALSE FALSE ...
##  $ restecg : chr  "lv hypertrophy" "lv hypertrophy" "lv hypertrophy" "normal" ...
##  $ thalch  : num  150 108 129 187 172 178 160 163 147 155 ...
##  $ exang   : logi  FALSE TRUE TRUE FALSE FALSE FALSE ...
##  $ oldpeak : num  1.98 1.5 1.98 1.98 1.4 ...
##  $ slope   : chr  "downsloping" "flat" "flat" "downsloping" ...
##  $ ca      : int  0 3 2 0 0 0 2 0 1 0 ...
##  $ thal    : chr  "fixed defect" "normal" "reversable defect" "normal" ...
##  $ num     : int  0 2 1 0 0 0 3 0 2 1 ...

Se obtiene un resumen de las variables que conforman el dataframe:

Variable Descripcion
age Edad del paciente en años
sex Sexo del paciente (0 = mujer, 1 = hombre)
dataset Fuente del registro (Cleveland, Hungary, etc.)
cp Tipo de dolor torácico (0–3)
trestbps Presión arterial en reposo (mm Hg)
chol Colesterol sérico (mg/dl)
fbs Azúcar en sangre en ayunas > 120 mg/dl (1 = sí, 0 = no)
restecg Resultado del electrocardiograma en reposo (0–2)
thalch Frecuencia cardíaca máxima alcanzada
exang Angina inducida por ejercicio (1 = sí, 0 = no)
oldpeak Depresión del segmento ST inducida por ejercicio
slope Pendiente del segmento ST durante el esfuerzo (0–2)
ca Número de vasos principales coloreados por fluoroscopia (0–3)
thal Tipo de talasemia (3, 6, 7)
num Diagnóstico de enfermedad cardíaca (0 = sano, 1–4 = enfermo)

Introducción general del informe

El presente reporte tiene como objetivo analizar el dataset heart, el cual contiene información clínica de pacientes provenientes de distintos centros médicos. Las variables incluidas abarcan aspectos como la edad (age), el sexo (sex), el tipo de dolor torácico (cp), niveles de colesterol (chol), presión arterial en reposo (trestbps), frecuencia cardíaca máxima alcanzada (thalch), entre otras. La variable de interés principal es num, que indica la presencia y severidad de enfermedad cardíaca.

El análisis exploratorio de datos (EDA) previo, permitió identificar patrones relevantes. Por ejemplo, se observó que los pacientes con valores distintos de cero en num (indicativos de enfermedad) son más frecuentes que aquellos sin enfermedad. Asimismo, las visualizaciones facetadas mostraron que la prevalencia de enfermedad cardíaca tiende a concentrarse en pacientes hombres con dolor torácico asintomático, reforzando la hipótesis de una alta prevalencia en la muestra.

Este contexto motiva el planteamiento de un problema inferencial que busca validar estadísticamente lo observado en el EDA.

Presentación del problema inferencial y su origen dentro del EDA

Durante el análisis exploratorio del dataset heart, se identificó que existen 411 pacientes sin enfermedad cardíaca (num = 0) frente a 509 pacientes con algún grado de enfermedad cardíaca (num > 0: 265 con grado 1, 109 con grado 2, 107 con grado 3 y 28 con grado 4).

Esta diferencia sugiere que la proporción de pacientes con enfermedad cardíaca podría superar el 50%, lo que motiva el planteamiento de un problema inferencial para validar estadísticamente lo observado en el EDA.

Además, al visualizar la variable num en relación con el tipo de dolor torácico (cp) y el sexo (sex), se evidenció que los casos de enfermedad se concentran especialmente en pacientes con dolor asintomático* y en hombres. Dichos hallazgos fueron reforzados mediante un gráfico de barras facetado por sexo:

Gráfica 1: Distribución de enfermedad cardíaca según tipo de dolor torácico y sexo

Pregunta inferencial derivada del EDA

Estos resultados exploratorios conducen a la siguiente pregunta inferencial:

¿La proporción de pacientes con enfermedad cardíaca (num > 0) en el dataset heart supera el 50%?

Este planteamiento será evaluado mediante una prueba de proporciones, contrastando la hipótesis nula de que la proporción es igual o menor al 50% contra la hipótesis alternativa de que es mayor.

Esta pregunta busca explorar cómo una variable categórica (tipo de dolor) y una continua (colesterol) se relacionan con el diagnóstico final, considerando además otras variables relevantes como el ritmo cardíaco máximo (thalch) y el tipo de talasemia (thal).

Hipótesis estadísticas

Planteamiento de hipótesis

  • Hipótesis nula (H₀): La proporción de pacientes con enfermedad cardíaca (num > 0) es menor o igual al 50%.
  • Hipótesis alternativa (Hₐ): La proporción de pacientes con enfermedad cardíaca (num > 0) es mayor al 50%.
  • Nivel de significancia: 0.05.
  • Tipo de contraste: Unilateral (cola derecha).
Resultados de la prueba de proporción
Indicador Valor
Total pacientes 920
Pacientes con enfermedad 509
Proporción observada 0.5533
Hipótesis alternativa p > 0.5
Estadístico Chi² 10.439
Grados de libertad 1
Valor p 6e-04
IC 95% inferior 0.5262
IC 95% superior 1

Decisión:

Se rechaza H₀. Hay evidencia suficiente para afirmar que la proporción de pacientes con enfermedad cardíaca supera el 50%.

Interpretación:

Se realizó una prueba de hipótesis para evaluar si la proporción de pacientes con enfermedad supera el 50%. Los resultados indican lo siguiente:

  • De un total de 920 pacientes, 509 presentaron la enfermedad, lo que representa una proporción observada de 55.3%.
  • El valor del estadístico Chi² fue 10.439 con 1 grado de libertad, y el valor p asociado fue 6.17 × 10⁻⁴, lo que indica una diferencia estadísticamente significativa respecto a la proporción nula de 0.5.
  • El intervalo de confianza del 95% para la proporción verdadera va de 0.5262 a 1.0000, lo que excluye el valor nulo y respalda la hipótesis alternativa:

La proporción verdadera de pacientes con enfermedad es mayor a 0.5.

Estos resultados sugieren que la prevalencia de la enfermedad en la muestra es significativamente superior al 50%, con evidencia estadística robusta.

Segundo análisis

Justificación del uso de las pruebas estadísticas indicadas

  • Continuación del primer análisis: En el primer análisis se evaluó si la proporción de pacientes con enfermedad cardíaca (num > 0) superaba el 50%.
    Este contraste permitió establecer una visión general sobre la prevalencia de la enfermedad en el dataset heart.

  • Necesidad del segundo análisis:
    Para complementar la información anterior, se buscó determinar si las variables clínicas continuas (como colesterol y presión arterial) presentan diferencias significativas entre los grupos definidos por la variable categórica num.

  • Prueba t de Student:

    • Se aplica cuando la variable num tiene dos niveles (ejemplo: 0 = sano, 1 = enfermo).
    • Permite comparar la media de una variable continua entre dos grupos.
  • ANOVA (Análisis de Varianza):

    • Se utiliza cuando la variable num tiene más de dos niveles (ejemplo: 0 = sano, 1 = leve, 2 = moderado, 3 = severo).

    • Permite comparar simultáneamente las medias de varios grupos para identificar si al menos una difiere significativamente.

Planteamiento de la hipótesis para el segundo análisis

  • Hipótesis nula (H₀):
    Las medias de las variables clínicas continuas (por ejemplo, colesterol, presión arterial, edad) son iguales entre los grupos definidos por la variable num.

    • No existen diferencias significativas entre los niveles de enfermedad cardíaca.
  • Hipótesis alternativa (Hₐ):
    Al menos una de las medias de las variables clínicas continuas difiere significativamente entre los grupos definidos por num.

    • Sí existen diferencias clínicas según el nivel de enfermedad cardíaca.
  • Nivel de significancia:
    Se establece en 0.05, lo que implica un 5% de tolerancia al error tipo I.

  • Tipo de contraste:

    • Si num tiene dos niveles, se aplica un contraste bilateral mediante la prueba t de Student.

    • Si num tiene más de dos niveles, se aplica un ANOVA de una vía, que evalúa simultáneamente todas las medias.

Análisis descriptivo por niveles de num

  • Conversión de variable categórica:
    La variable num se convierte en factor para tratarla como categórica. Esto permite agrupar a los pacientes según el nivel de enfermedad cardíaca y realizar comparaciones estadísticas entre grupos.

  • Tabla de frecuencia:
    Se calcula la cantidad de pacientes en cada nivel de num, este paso permite visualizar la distribución de la muestra y verificar el tamaño de cada grupo.

Gráfica 2: Resumen descriptivo por grupo (num)

Frecuencia de pacientes por nivel de num
Var1 Freq
0 411
1 265
2 109
3 107
4 28
Resumen descriptivo por grupo (num)
num n age_media chol_media trestbps_media
0 411 50.54745 230.8360 129.6928
1 265 53.52830 213.9179 131.6464
2 109 57.57798 181.6737 134.2493
3 107 59.21495 190.8339 134.7895
4 28 59.21429 209.6430 136.2826

Interpretación del análisis descriptivo por niveles de num

  • Distribución de pacientes por nivel de enfermedad (num):
    La mayoría de los pacientes se encuentran en el nivel 0 (411 casos), lo que indica ausencia de enfermedad cardíaca. Los niveles 1 y 2 también tienen representación significativa (265 y 109 casos, respectivamente), mientras que los niveles 3 y 4 son menos frecuentes (107 y 28 casos).
    • Esto sugiere que la muestra está concentrada en pacientes sanos o con enfermedad leve, lo cual debe considerarse al interpretar los resultados.
  • Edad promedio (age_media):
    Se observa un incremento progresivo en la edad conforme aumenta el nivel de enfermedad:
    • num = 0: 50.5 años
    • num = 4: 59.2 años
    • Esto sugiere una posible asociación entre edad avanzada y mayor severidad cardíaca.
  • Colesterol promedio (chol_media):
    El patrón es irregular:
    • El valor más alto se encuentra en num = 0 (230.8 mg/dl), pero disminuye en num = 1 (2013.9) y vuelve a subir en num = 4 (209.6).
    • Esto indica que el colesterol elevado no se relaciona linealmente con la progresión de la enfermedad, y podrían intervenir otros factores clínicos.
  • Presión arterial promedio (trestbps_media):
    Se observa una tendencia creciente hasta num = 4 (136.2 mmHg), seguida de fluctuaciones en los niveles superiores.
    • Esto sugiere una posible relación entre presión arterial elevada y enfermedad cardíaca, lineal.

Pruebas de hipótesis (ANOVA o t-test según niveles)

# Pruebas de hipótesis (ANOVA o t-test según niveles)
niveles_num <- unique(na.omit(heart$num))

if (length(niveles_num) > 2) {
  if ("chol" %in% names(heart)) {
    aov_col <- aov(chol ~ num, data = heart)
    kable(tidy(aov_col), caption = "ANOVA: Colesterol según niveles de num")
  }
  if ("trestbps" %in% names(heart)) {
    aov_presion <- aov(trestbps ~ num, data = heart)
    kable(tidy(aov_presion), caption = "ANOVA: Presión arterial según niveles de num")
  }
} else if (length(niveles_num) == 2) {
  if ("chol" %in% names(heart)) {
    t_col <- t.test(chol ~ num, data = heart)
    resultados_tcol <- data.frame(
      Estadístico = round(t_col$statistic, 3),
      `Valor p` = round(t_col$p.value, 4)
    )
    kable(resultados_tcol, caption = "Prueba t para colesterol")
  }
  if ("trestbps" %in% names(heart)) {
    t_presion <- t.test(trestbps ~ num, data = heart)
    resultados_tpres <- data.frame(
      Estadístico = round(t_presion$statistic, 3),
      `Valor p` = round(t_presion$p.value, 4)
    )
    kable(resultados_tpres, caption = "Prueba t para presión arterial")
  }
} else {
  cat("<p><b>La variable 'num'</b> no tiene <b>suficientes niveles</b> para <b>pruebas de   hipótesis</b>.</p>")
}
ANOVA: Presión arterial según niveles de num
term df sumsq meansq statistic p.value
num 4 3962.926 990.7316 3.803022 0.0044913
Residuals 915 238368.151 260.5116 NA NA

Interpretación

La prueba ANOVA evalúa si existen diferencias significativas en la presión arterial en reposo (trestbps) entre los distintos niveles de enfermedad cardíaca (num).

  • El valor p obtenido (0.0044) es menor al nivel de significancia convencional (α = 0.05), lo que indica que: > Se rechaza la hipótesis nula.

  • Esto significa que al menos una de las medias de presión arterial difiere significativamente entre los niveles de num.

  • El estadístico F = 3.80 refleja una variabilidad explicada por el grupo mayor que la variabilidad residual, lo que respalda la significancia del resultado.

Conclusión: La presión arterial en reposo está asociada con la severidad de la enfermedad cardíaca.
Los pacientes en distintos niveles de num presentan diferencias clínicas reales en este indicador.

Este hallazgo refuerza la utilidad de num como variable categórica explicativa en el análisis clínico del dataset heart.

Gráfica 3: Distribución del colesterol según niveles de num

Esta visualización muestra la distribución del colesterol para cada nivel de la variable num, que representa la severidad de enfermedad cardíaca. Cada boxplot resume la mediana, los cuartiles y los valores atípicos del colesterol en cada grupo.

Observaciones clave:

  • Nivel 0 (sin enfermedad):
    • Distribución más amplia, con valores altos y varios outliers.
    • Mediana relativamente elevada, lo que indica que incluso pacientes sin enfermedad pueden tener colesterol alto.
  • Niveles 1 y 2 (enfermedad leve a moderada):
    • Medianas similares o ligeramente más bajas que el nivel 0.
    • Menor dispersión en comparación con el grupo sano.
    • Esto podría indicar que algunos pacientes con enfermedad leve tienen colesterol más controlado.
  • Nivel 3 (enfermedad más avanzada):
    • Mediana más baja que los niveles anteriores.
    • Distribución más compacta, con menos outliers.
  • Nivel 4 (máxima severidad):
    • Mediana vuelve a subir ligeramente.
    • Distribución más estrecha, pero con valores altos.
    • Esto sugiere que en los casos más graves, el colesterol tiende a elevarse nuevamente.

Interpretación

El gráfico sugiere que la relación entre colesterol y severidad de enfermedad cardíaca no es lineal:

  • Aunque se esperaría que el colesterol aumente con la severidad, los niveles intermedios (num = 1, 2, 3) muestran medianas más bajas o similares al grupo sano.
  • El nivel más alto (num = 4) muestra una mediana elevada, lo que podría indicar un repunte en los casos más graves.

Resumen estadístico de la prueba de proporción

Indicador Valor
Total pacientes 920
Pacientes con enfermedad 509
Proporción observada.p 0.5533
Hipótesis alternativa p > 0.50
Estadístico Chi².X-squared 10.439
Grados de libertad.df 1
Valor p 6.17e-04
IC 95% inferior 0.5262
IC 95% superior 1

Resumen estadístico de la prueba de proporción

La proporción observada de pacientes con enfermedad fue 55.3%, superior al valor de referencia (50%).
La prueba de hipótesis con (chi^2 = 10.439), (df = 1) y un valor p de 6.17 × 10⁻⁴ indica una diferencia estadísticamente significativa.
El intervalo de confianza del 95% para la proporción va de 0.5262 a 1.0000, lo que excluye la hipótesis nula y respalda la hipótesis alternativa:

La proporción verdadera de pacientes con enfermedad es mayor a 0.5.

Este resultado sugiere una prevalencia elevada y estadísticamente confirmada de la condición bajo estudio.

Conclusiones generales