Para este ejercicio, se utilizaron los resultados obtenidos en la Actividad 2, que se enfocaron a corregir los problemas con el dataset Heart Disease UCI, para el cual se realizó lo siguiente:
str), resumen estadístico
(summary,
skim) y duplicados. Se detectaron valores
ausentes en algunas variables.mice, generando 5
datasets y eligiendo el segundo.disease.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 17 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ id : int 1 2 3 4 5 6 7 8 9 10 ...
## $ 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 |
|---|---|
| id | Identificador único del paciente |
| age | Edad del paciente en años |
| sex | Género del paciente (Male/Female) |
| dataset | Fuente del registro (Cleveland, Hungary, etc.) |
| cp | Tipo de dolor de pecho |
| trestbps | Presión arterial en reposo (mm Hg) |
| chol | Colesterol sérico (mg/dl) |
| fbs | Azúcar en sangre en ayunas > 120 mg/dl |
| restecg | Resultado del electrocardiograma en reposo |
| thalch | Frecuencia cardíaca máxima alcanzada |
| exang | Angina inducida por ejercicio |
| oldpeak | Depresión del ST inducida por ejercicio |
| slope | Pendiente del segmento ST |
| ca | Número de vasos principales coloreados por fluoroscopia |
| thal | Resultado de la prueba de talio |
| num | Diagnóstico de enfermedad cardíaca (0–4) |
Se muestran las primeras observaciones de la tabla:
| X | id | age | sex | dataset | cp | trestbps | chol | fbs | restecg | thalch | exang | oldpeak | slope | ca | thal | num |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 63 | Male | Cleveland | typical angina | 145.000 | 233 | TRUE | lv hypertrophy | 150 | FALSE | 1.9826 | downsloping | 0 | fixed defect | 0 |
| 2 | 2 | 67 | Male | Cleveland | asymptomatic | 159.652 | 286 | FALSE | lv hypertrophy | 108 | TRUE | 1.5000 | flat | 3 | normal | 2 |
| 3 | 3 | 67 | Male | Cleveland | asymptomatic | 120.000 | 229 | FALSE | lv hypertrophy | 129 | TRUE | 1.9826 | flat | 2 | reversable defect | 1 |
| 4 | 4 | 37 | Male | Cleveland | non-anginal | 130.000 | 250 | FALSE | normal | 187 | FALSE | 1.9826 | downsloping | 0 | normal | 0 |
| 5 | 5 | 41 | Female | Cleveland | atypical angina | 130.000 | 204 | FALSE | lv hypertrophy | 172 | FALSE | 1.4000 | upsloping | 0 | normal | 0 |
| 6 | 6 | 56 | Male | Cleveland | atypical angina | 120.000 | 236 | FALSE | normal | 178 | FALSE | 0.8000 | upsloping | 0 | normal | 0 |
Vamos a realizar el resumen numérico de cada variable del dataframe:
## Error in table(names(candidates))[["tested"]]: subíndice fuera de los límites
| age | chol | oldpeak | thalch | trestbps | |
|---|---|---|---|---|---|
| Mean | 53.51 | 214.84 | 0.77 | 136.81 | 131.59 |
| Std.Dev | 9.42 | 76.70 | 0.83 | 25.41 | 16.24 |
| Min | 28.00 | 86.60 | -0.98 | 82.66 | 100.35 |
| Q1 | 47.00 | 177.00 | 0.00 | 119.00 | 120.00 |
| Median | 54.00 | 223.00 | 0.50 | 139.00 | 130.00 |
| Q3 | 60.00 | 269.00 | 1.55 | 156.00 | 140.00 |
| Max | 77.00 | 359.40 | 1.98 | 195.34 | 159.65 |
| MAD | 9.64 | 68.20 | 0.74 | 28.17 | 14.83 |
| IQR | 13.00 | 92.00 | 1.52 | 37.00 | 20.00 |
| CV | 0.18 | 0.36 | 1.08 | 0.19 | 0.12 |
| Skewness | -0.20 | -0.36 | 0.31 | -0.09 | 0.14 |
| SE.Skewness | 0.08 | 0.08 | 0.08 | 0.08 | 0.08 |
| Kurtosis | -0.39 | -0.67 | -1.44 | -0.72 | -0.82 |
| N.Valid | 920 | 920 | 920 | 920 | 920 |
| N | 920 | 920 | 920 | 920 | 920 |
| Pct.Valid | 100.00 | 100.00 | 100.00 | 100.00 | 100.00 |
Generated by summarytools 1.1.4 (R version 4.5.1)
2025-11-12
De la tabla anterior, podemos obtener lo siguiente:
| Variable | Media_Mediana | Rango_IQR | Variabilidad | Forma_Distribucion | Observaciones |
|---|---|---|---|---|---|
| age | Media: 53.51, Mediana: 56 → distribución ligeramente sesgada a la izquierda | Rango: 47–60, IQR: 13 → dispersión moderada | CV: 0.18 → baja variabilidad relativa | Skewness: -0.20, Kurtosis: -0.39 → distribución casi simétrica, menos concentración en la media | Distribución centrada en adultos de edad media. No hay extremos clínicamente preocupantes. |
| chol | Media: 214.84, Mediana: 223 → leve sesgo negativo | Rango: 177–269, IQR: 92 → alta dispersión con valores extremos | CV: 0.36 → variabilidad alta | Skewness: -0.36, Kurtosis: -0.67 → leve sesgo negativo, distribución más plana | Colesterol moderado en promedio, pero con amplia dispersión. Revisar valores extremos. |
| oldpeak | Media: 0.77, Mediana: 0.50 → fuerte sesgo positivo | Rango: 0.00–1.55, IQR: 1.52 → dispersión alta con acumulación en cero | CV: 1.08 → variabilidad extrema | Skewness: 0.31, Kurtosis: -1.44 → leve sesgo positivo, distribución muy plana | La mayoría de los pacientes no presenta depresión ST, pero algunos tienen valores elevados. |
| thalach | Media: 136.81, Mediana: 139 → leve sesgo negativo | Rango: 119–156, IQR: 37 → buena dispersión | CV: 0.19 → variabilidad moderada | Skewness: -0.09, Kurtosis: -0.72 → casi simétrica, leve concentración en la media | Frecuencia cardíaca dentro de rangos funcionales, con algunos pacientes por debajo del promedio. |
| trestbps | Media: 131.59, Mediana: 130 → leve sesgo positivo | Rango: 120–140, IQR: 20 → dispersión moderada | CV: 0.12 → baja variabilidad | Skewness: 0.14, Kurtosis: -0.82 → leve sesgo positivo, distribución más plana | Presión arterial en reposo ligeramente elevada en promedio, con casos que podrían indicar hipertensión. |
Se puede observar que hay una distribución centrada en adultos de edad media, con leve sesgo negativo. Dispersión moderada y sin valores extremos clínicamente preocupantes.
Se puede observar que la variable Colesterol tiene amplia dispersión y valores extremos con un leve sesgo negativo, pero clínicamente relevante por los valores altos.
Se puede observar que la variable tiene una fuerte dispersión con acumulación en cero, tiene un sesgo positivo y valores clínicamente relevantes en el extremo superior.
Se puede observar que la variable tiene una distribución casi simétrica, con buena dispersión. Algunos pacientes presentan valores bajos que podrían indicar baja capacidad funcional.
Se puede observar que la variable un leve sesgo positivo, con valores elevados que podrían indicar hipertensión, con dispersión moderada y concentración en la media.
La función dfSummary() del paquete
summarytools genera un resumen completo y
visualmente atractivo de todas las variables en un data frame,
incluyendo estadísticas, tipos de datos, valores únicos, valores
faltantes y gráficos embebidos.
| Variable | Stats / Values | Freqs (% of Valid) | Graph | Missing | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| age [integer] |
|
50 distinct values | 0 (0.0%) | ||||||||||||||||||||||||||
| sex [factor] |
|
|
0 (0.0%) | ||||||||||||||||||||||||||
| dataset [factor] |
|
|
0 (0.0%) | ||||||||||||||||||||||||||
| cp [factor] |
|
|
0 (0.0%) | ||||||||||||||||||||||||||
| trestbps [numeric] |
|
43 distinct values | 0 (0.0%) | ||||||||||||||||||||||||||
| chol [numeric] |
|
195 distinct values | 0 (0.0%) | ||||||||||||||||||||||||||
| fbs [factor] |
|
|
0 (0.0%) | ||||||||||||||||||||||||||
| restecg [factor] |
|
|
0 (0.0%) | ||||||||||||||||||||||||||
| thalch [numeric] |
|
108 distinct values | 0 (0.0%) | ||||||||||||||||||||||||||
| exang [factor] |
|
|
0 (0.0%) | ||||||||||||||||||||||||||
| oldpeak [numeric] |
|
27 distinct values | 0 (0.0%) | ||||||||||||||||||||||||||
| slope [factor] |
|
|
0 (0.0%) | ||||||||||||||||||||||||||
| ca [factor] |
|
|
0 (0.0%) | ||||||||||||||||||||||||||
| thal [factor] |
|
|
0 (0.0%) | ||||||||||||||||||||||||||
| num [factor] |
|
|
0 (0.0%) |
Generated by summarytools 1.1.4 (R version 4.5.1)
2025-11-12
| Variable | Categorías | Observaciones |
|---|---|---|
| sex | Female: 21.1%, Male: 78.9% | Distribución sesgada hacia hombres, importante para análisis por sexo. |
| dataset | Cleveland: 33%, Hungary: 31.8%, Switzerland: 13.4%, VA: 21.7% | Datos provienen de cuatro fuentes, útil para análisis por centro. |
| cp | Asymptomatic: 53.9%, Atypical angina: 18.9%, Non-anginal: 22.2%, Typical angina: 5% | Mayoría asintomática, relevante para diagnóstico clínico. |
| fbs | FALSE: 83.6%, TRUE: 16.4% | La mayoría no tiene azúcar en ayunas elevada. |
| restecg | Normal: 60.1%, LV hypertrophy: 20.4%, ST-T abnormality: 19.5% | Predominio de ECG normal, pero con presencia de anomalías. |
| exang | FALSE: 59.6%, TRUE: 40.4% | 40% presentan angina inducida por ejercicio. |
| slope | Flat: 54.6%, Upsloping: 35.8%, Downsloping: 9.7% | Predominio de pendiente plana, relevante para esfuerzo cardíaco. |
| ca | 0: 63.2%, 1: 11.1%, 2: 16.8%, 3: 8.9% | Mayoría sin vasos coloreados, pero presencia de obstrucciones. |
| thal | Reversable defect: 43.4%, Normal: 34.3%, Fixed defect: 22.3% | Distribución equilibrada entre tipos de defecto. |
| num | 0: 44.7%, 1: 28.8%, 2: 11.8%, 3: 11.6%, 4: 3% | Distribución escalonada de severidad de enfermedad cardíaca. |
Vamos ahora a obtener las tablas de frecuencia, para las variables categóricas:
Frequencies
.y
Type: Factor
| Freq | % Valid | % Valid Cum. | % Total | % Total Cum. | |
|---|---|---|---|---|---|
| Female | 194 | 21.09 | 21.09 | 21.09 | 21.09 |
| Male | 726 | 78.91 | 100.00 | 78.91 | 100.00 |
| 0 | 0.00 | 100.00 | |||
| Total | 920 | 100.00 | 100.00 | 100.00 | 100.00 |
Frequencies
.y
Type: Factor
| Freq | % Valid | % Valid Cum. | % Total | % Total Cum. | |
|---|---|---|---|---|---|
| Cleveland | 304 | 33.04 | 33.04 | 33.04 | 33.04 |
| Hungary | 293 | 31.85 | 64.89 | 31.85 | 64.89 |
| Switzerland | 123 | 13.37 | 78.26 | 13.37 | 78.26 |
| VA Long Beach | 200 | 21.74 | 100.00 | 21.74 | 100.00 |
| 0 | 0.00 | 100.00 | |||
| Total | 920 | 100.00 | 100.00 | 100.00 | 100.00 |
Frequencies
.y
Type: Factor
| Freq | % Valid | % Valid Cum. | % Total | % Total Cum. | |
|---|---|---|---|---|---|
| asymptomatic | 496 | 53.91 | 53.91 | 53.91 | 53.91 |
| atypical angina | 174 | 18.91 | 72.83 | 18.91 | 72.83 |
| non-anginal | 204 | 22.17 | 95.00 | 22.17 | 95.00 |
| typical angina | 46 | 5.00 | 100.00 | 5.00 | 100.00 |
| 0 | 0.00 | 100.00 | |||
| Total | 920 | 100.00 | 100.00 | 100.00 | 100.00 |
Frequencies
.y
Type: Factor
| Freq | % Valid | % Valid Cum. | % Total | % Total Cum. | |
|---|---|---|---|---|---|
| FALSE | 769 | 83.59 | 83.59 | 83.59 | 83.59 |
| TRUE | 151 | 16.41 | 100.00 | 16.41 | 100.00 |
| 0 | 0.00 | 100.00 | |||
| Total | 920 | 100.00 | 100.00 | 100.00 | 100.00 |
Frequencies
.y
Type: Factor
| Freq | % Valid | % Valid Cum. | % Total | % Total Cum. | |
|---|---|---|---|---|---|
| lv hypertrophy | 188 | 20.43 | 20.43 | 20.43 | 20.43 |
| normal | 553 | 60.11 | 80.54 | 60.11 | 80.54 |
| st-t abnormality | 179 | 19.46 | 100.00 | 19.46 | 100.00 |
| 0 | 0.00 | 100.00 | |||
| Total | 920 | 100.00 | 100.00 | 100.00 | 100.00 |
Frequencies
.y
Type: Factor
| Freq | % Valid | % Valid Cum. | % Total | % Total Cum. | |
|---|---|---|---|---|---|
| FALSE | 548 | 59.57 | 59.57 | 59.57 | 59.57 |
| TRUE | 372 | 40.43 | 100.00 | 40.43 | 100.00 |
| 0 | 0.00 | 100.00 | |||
| Total | 920 | 100.00 | 100.00 | 100.00 | 100.00 |
Frequencies
.y
Type: Factor
| Freq | % Valid | % Valid Cum. | % Total | % Total Cum. | |
|---|---|---|---|---|---|
| downsloping | 89 | 9.67 | 9.67 | 9.67 | 9.67 |
| flat | 502 | 54.57 | 64.24 | 54.57 | 64.24 |
| upsloping | 329 | 35.76 | 100.00 | 35.76 | 100.00 |
| 0 | 0.00 | 100.00 | |||
| Total | 920 | 100.00 | 100.00 | 100.00 | 100.00 |
Frequencies
.y
Type: Factor
| Freq | % Valid | % Valid Cum. | % Total | % Total Cum. | |
|---|---|---|---|---|---|
| 0 | 581 | 63.15 | 63.15 | 63.15 | 63.15 |
| 1 | 102 | 11.09 | 74.24 | 11.09 | 74.24 |
| 2 | 155 | 16.85 | 91.09 | 16.85 | 91.09 |
| 3 | 82 | 8.91 | 100.00 | 8.91 | 100.00 |
| 0 | 0.00 | 100.00 | |||
| Total | 920 | 100.00 | 100.00 | 100.00 | 100.00 |
Frequencies
.y
Type: Factor
| Freq | % Valid | % Valid Cum. | % Total | % Total Cum. | |
|---|---|---|---|---|---|
| fixed defect | 205 | 22.28 | 22.28 | 22.28 | 22.28 |
| normal | 316 | 34.35 | 56.63 | 34.35 | 56.63 |
| reversable defect | 399 | 43.37 | 100.00 | 43.37 | 100.00 |
| 0 | 0.00 | 100.00 | |||
| Total | 920 | 100.00 | 100.00 | 100.00 | 100.00 |
Frequencies
.y
Type: Factor
| Freq | % Valid | % Valid Cum. | % Total | % Total Cum. | |
|---|---|---|---|---|---|
| 0 | 411 | 44.67 | 44.67 | 44.67 | 44.67 |
| 1 | 265 | 28.80 | 73.48 | 28.80 | 73.48 |
| 2 | 109 | 11.85 | 85.33 | 11.85 | 85.33 |
| 3 | 107 | 11.63 | 96.96 | 11.63 | 96.96 |
| 4 | 28 | 3.04 | 100.00 | 3.04 | 100.00 |
| 0 | 0.00 | 100.00 | |||
| Total | 920 | 100.00 | 100.00 | 100.00 | 100.00 |
Interpretación:
| Variable | Mujeres | Hombres | Interpretación |
|---|---|---|---|
| age | Menor promedio | Mayor promedio | Las mujeres tienden a ser diagnosticadas más jóvenes. |
| chol | Más alto | Más bajo | Mayor colesterol en mujeres, posible riesgo metabólico. |
| oldpeak | Más bajo | Más alto | Menor isquemia inducida por ejercicio en mujeres. |
| thalach | Más alto | Más bajo | Mejor capacidad funcional en mujeres. |
| trestbps | Similar | Ligeramente mayor | Posible mayor prevalencia de hipertensión en hombres. |
| Variable | Tendencia | Interpretación |
|---|---|---|
| age | Ligeramente creciente | Pacientes más graves tienden a ser mayores. |
| chol | Irregular, sin patrón claro | El colesterol no discrimina bien entre niveles de diagnóstico. |
| oldpeak | Aumenta con el diagnóstico | Mayor isquemia en casos más severos. |
| thalach | Disminuye con el diagnóstico | Menor capacidad funcional en pacientes más graves. |
| trestbps | Ligeramente creciente | Mayor presión arterial en diagnósticos altos. |
| Grupo | Mediana_thalach | Dispersión | Interpretación |
|---|---|---|---|
| Sin angina inducida (FALSE) | Más alta | Amplia | Mejor capacidad funcional, mayor tolerancia al ejercicio. |
| Con angina inducida (TRUE) | Más baja | Estrecha | Menor tolerancia al esfuerzo, posible isquemia inducida. |
| Tipo_dolor | Mediana_chol | Dispersión | Interpretación |
|---|---|---|---|
| Asintomático | Más alta | Muy amplia | Colesterol elevado sin síntomas, posible riesgo silencioso. |
| Angina atípica | Moderada | Estrecha | Perfil más homogéneo, menos extremos. |
| No anginoso | Similar a atípica | Estrecha | Colesterol controlado, pero no necesariamente sin riesgo. |
| Angina típica | Más baja | Estrecha | Menor colesterol, pero con síntomas evidentes de enfermedad cardíaca. |
| Diagnóstico | Patrón_visual | Interpretación |
|---|---|---|
| 0 (sin enfermedad) | Dispersos en todo el rango de edad y colesterol | Edad y colesterol no predicen ausencia de enfermedad. |
| 1–2 | Agrupados en colesterol medio (200–250) | Zona de transición entre salud y enfermedad. |
| 3–4 | Más frecuentes en colesterol alto (>250) y edad mayor | Perfil clínico de mayor riesgo: edad avanzada y colesterol elevado. |
| Diagnóstico | Patrón_visual | Interpretación |
|---|---|---|
| 0 (sin enfermedad) | Alta thalch, baja oldpeak | Buen rendimiento cardíaco, sin signos de isquemia. |
| 1–2 | Distribución intermedia | Posible deterioro funcional incipiente. |
| 3–4 | Baja thalch, alta oldpeak | Perfil de alto riesgo: menor capacidad funcional y mayor isquemia. |
Interpretación: La mayoría de los pacientes tienen entre 50 y 60 años, lo que indica que la enfermedad cardíaca se concentra en adultos mayores.
Interpretación: Las mujeres presentan una mediana de colesterol más alta y mayor dispersión, lo que puede indicar mayor riesgo metabólico.
Interpretación: Se observa una ligera tendencia negativa, a mayor edad, menor frecuencia cardíaca máxima alcanzada, lo que refleja deterioro funcional.
Interpretación: No hay una relación clara, pero algunos pacientes con colesterol alto también presentan mayor depresión ST, lo que podría indicar riesgo combinado.
Interpretación: La mayoría de los pacientes son asintomáticos, lo que sugiere que muchos casos de enfermedad cardíaca no presentan dolor típico.
Interpretación: Los pacientes con pendiente descendente (downsloping) están más asociados a diagnósticos severos, lo que refuerza su valor como indicador clínico.
Interpretación:
Interpretación:
Interpretación:
Puede representar un perfil clínico menos severo, pero aún relevante.
Upsloping suele considerarse menos preocupante en pruebas de esfuerzo.
Interpretación:
Este tipo de pendiente suele asociarse con mayor riesgo de isquemia miocárdica. La depresión ST más pronunciada puede indicar alteraciones significativas en la perfusión cardíaca.
Es un perfil clínico más moderado. Puede representar pacientes con alteraciones menos severas o más estables.
Este patrón suele considerarse menos preocupante en pruebas de esfuerzo. La depresión ST es mínima, lo que puede indicar una respuesta cardíaca más normal.
Interpretación:
Mujeres
Las mujeres con pendiente downsloping presentan mayor depresión ST, lo que podría indicar mayor riesgo de isquemia. Las diferencias entre tipos de pendiente son marcadas.
Hombres
Aunque el patrón general se mantiene, los hombres presentan menor variabilidad en oldpeak, especialmente en pendientes flat y upsloping.
Interpretación:
Tendencia principal:
Mujeres
Hombres
Interpretación:
Mujeres
Hombres
El análisis exploratorio del dataset HEART revela patrones clínicamente relevantes que permiten caracterizar perfiles de riesgo cardiovascular en función de diferentes variables:
geom_smooth) confirman una
pendiente negativa, lo que refleja una
respuesta fisiológica esperada del sistema
cardiovascular.facet_grid) y codificación
visual (color, tamaño) potencia el análisis
exploratorio.