library(readxl)
heartdisease <- read_excel("heart_disease_uci (1).xlsx")
heartdisease= heartdisease[,-c(1,7:15)]
heartdisease= heartdisease[heartdisease$dataset=='Cleveland',]
attach(heartdisease)## Warning: package 'ggplot2' was built under R version 4.3.1
ggplot(heartdisease,
aes(x = sex,
y = trestbps)) +
geom_boxplot() +
labs(title = "trestbps levels by sex")El diagrama de cajas y bigotes que relaciona el sexo con la presión arterial muestra algunas diferencias interesantes entre hombres y mujeres. En general, ambos grupos tienen medianas (q2) similares en términos de presión arterial, lo que sugiere que, en promedio, no hay una diferencia significativa en los niveles de presión arterial entre los sexos. Esto es importante desde el punto de vista de la salud, ya que no parece haber una predisposición clara hacia una presión arterial más alta en uno u otro grupo.
Sin embargo, observamos que tanto en hombres como en mujeres existen valores atípicos por encima del máximo, lo que indica que tanto hombres como mujeres pueden experimentar ocasionalmente niveles extremadamente altos de presión arterial. Esto enfatiza la importancia de la monitorización regular de la presión arterial y el manejo adecuado de la salud cardiovascular, independientemente del género.
#Diagrama de dispersión entre age y trestbps
ggplot(heartdisease, aes(x = age, y = trestbps)) +
geom_point() +
labs(title = "Diagrama de Dispersion entre age y trestbps",
x = "age",
y = "trestbps")El diagrama de dispersión entre la edad y la presión arterial revela una tendencia interesante en la relación entre estos dos factores. A medida que la edad aumenta, parece haber una tendencia positiva en la presión arterial, lo que sugiere que las personas mayores tienden a tener niveles más altos de presión arterial en promedio. Esta observación es coherente con lo que se conoce en medicina, ya que el envejecimiento a menudo se asocia con un aumento de la presión arterial debido a diversos factores, como la rigidez de las arterias.
Sin embargo, es importante destacar la considerable variabilidad en los datos, ya que se pueden ver puntos dispersos a lo largo de todo el gráfico. Esto indica que, si bien existe una tendencia general de aumento de la presión arterial con la edad, existen muchas excepciones y otros factores que también influyen en los niveles de presión arterial. Esta variabilidad subraya la importancia de un enfoque individualizado en la atención médica, donde se deben considerar no solo la edad sino también otros factores de riesgo y la historia clínica de cada paciente al evaluar y gestionar la presión arterial.
correlation=cor(age,trestbps)
#Coeficiente de correlación entre age y trestbps
cat("Coeficiente de correlación lineal entre age y trestbps:", correlation, "\n")## Coeficiente de correlación lineal entre age y trestbps: 0.2819157
#Histograma de sex by num
ggplot(heartdisease, aes(x = sex, fill = factor(num))) +
geom_bar(position = "dodge", color = "black") +
labs(title = "Histograma de Sex por Num",
x = "Sex",
y = "Frecuencia") +
scale_fill_manual(values = c("0" = "blue", "1" = "red", "2" = "green", "3" = "purple", "4" = "orange"),
name = "Num")El histograma que relaciona el sexo con la gravedad de la enfermedad revela patrones interesantes en la distribución de la enfermedad cardíaca entre hombres y mujeres. En primer lugar, se nota que, en términos generales, la gravedad 0 (sin enfermedad cardíaca) es más común tanto en hombres como en mujeres. Sin embargo, es evidente que la frecuencia de casos de gravedad 0 es mayor en hombres que en mujeres, lo que podría sugerir que las mujeres en esta población tienen una mayor tendencia a desarrollar enfermedades cardíacas en general.
Por otro lado, a medida que aumenta la gravedad de la enfermedad (representada por las categorías 1, 2, 3 y 4), se observa un aumento en la frecuencia en ambos sexos. Sin embargo, la diferencia entre hombres y mujeres se amplía significativamente en las categorías de mayor gravedad. En las categorías 3 y 4, por ejemplo, la frecuencia en hombres es notablemente mayor que en mujeres. Esto podría indicar que, en esta población, los hombres tienden a desarrollar enfermedades cardíacas más graves con mayor frecuencia que las mujeres.
#Diagrama de Dispersión entre age and num
ggplot(heartdisease, aes(x = age, y = num)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE, color = "blue") +
labs(title = "Diagrama de Dispersión entre age and num",
x = "Age",
y = "Num")## `geom_smooth()` using formula = 'y ~ x'
El diagrama de dispersión que relaciona la edad con la gravedad de la enfermedad cardíaca revela patrones significativos en la población de pacientes. En primer lugar, se observa claramente una tendencia positiva: a medida que la edad aumenta, la gravedad de la enfermedad cardíaca tiende a incrementarse. Esta relación sugiere que el envejecimiento es un factor de riesgo importante para desarrollar enfermedades cardíacas más graves. Es notable cómo, en los grupos de gravedad 4 y 3, la mayoría de los pacientes se concentran en las edades de 50 a 70 años, lo que destaca la influencia crítica de la edad en la progresión de la enfermedad.
Sin embargo, también se identifican particularidades intrigantes. Por ejemplo, en el grupo de gravedad 1, existe una concentración significativa de casos graves en pacientes de alrededor de 50 años. Esto sugiere que, en este subconjunto, la enfermedad cardíaca puede manifestarse de manera más temprana en la vida, lo que podría relacionarse con factores de riesgo específicos en esa franja etaria.
#Relación entre CP y Trestbps
ggplot(heartdisease, aes(x = cp, y = trestbps)) +
geom_boxplot() +
labs(title = "Relación entre CP y Trestbps",
x = "Chest Pain (CP)",
y = "Trestbps (Resting Blood Pressure)") +
theme_minimal()El gráfico de cajas y bigotes que relaciona el tipo de dolor en el pecho con la presión arterial revela patrones intrigantes en la población de pacientes. En primer lugar, los pacientes catalogados como “asymptomatic” (asintomáticos) tienden a mostrar presiones arteriales moderadas, con la mayoría de ellos manteniendo valores dentro del rango de 120 a 140. Sin embargo, la presencia de algunos valores atípicos por encima de 170 sugiere que hay casos asintomáticos con presión arterial notablemente elevada. Esta discrepancia podría indicar la necesidad de un monitoreo más exhaustivo de la presión arterial en pacientes asintomáticos, ya que algunos podrían enfrentar un mayor riesgo de complicaciones cardiovasculares debido a su hipertensión. Por otro lado, aquellos con “atypical angina” (angina atípica) tienden a mostrar presiones arteriales ligeramente más bajas en comparación con los pacientes asintomáticos. La concentración de valores alrededor de 130 indica cierta estabilidad en este grupo. Sin embargo, los valores atípicos por encima del máximo plantean interrogantes sobre la relación entre la angina atípica y la hipertensión, lo que podría requerir una atención especial en el manejo de esta población.
#Relación entre Edad y Presencia de Enfermedad Cardíaca
ggplot(heartdisease, aes(x = factor(num), y = age)) +
geom_boxplot() +
labs(title = "Relación entre Edad y Presencia de Enfermedad Cardíaca",
x = "Presencia de Enfermedad Cardíaca (Num)",
y = "Edad") +
theme_minimal()El gráfico de cajas y bigotes que relaciona la edad y la gravedad de la enfermedad cardíaca ofrece una visión reveladora de la distribución de edades en diferentes niveles de gravedad. Se observa que a medida que aumenta la gravedad de la enfermedad cardíaca, la mediana de edad también tiende a aumentar gradualmente. Esto sugiere que, en promedio, los pacientes con enfermedades cardíacas más graves tienden a ser mayores. La mediana es un indicador sólido de tendencia central y muestra claramente esta relación. Sin embargo, es crucial destacar la presencia de valores atípicos en varios niveles de gravedad, como pacientes jóvenes con enfermedades cardíacas graves y pacientes mayores con enfermedades cardíacas menos graves. Estos valores atípicos subrayan la heterogeneidad de la población y enfatizan que la relación entre la edad y la gravedad de la enfermedad cardíaca no es absoluta. Esto puede deberse a factores individuales, genéticos y de estilo de vida que influyen en la aparición y el progreso de la enfermedad cardíaca.
#Tabla para age
mediana_age <- median(heartdisease$age, na.rm = TRUE)
print(paste("Mediana de age:", mediana_age))## [1] "Mediana de age: 55.5"
## Media de age: 54.35197
moda_age <- as.numeric(names(sort(table(heartdisease$age), decreasing = TRUE)[1]))
cat("Moda de age:", moda_age, "\n")## Moda de age: 58
desviacion_age <- sd(heartdisease$age, na.rm = TRUE)
curtosis_age <- e1071::kurtosis(heartdisease$age, na.rm = TRUE)
rango_age <- max(heartdisease$age, na.rm = TRUE) - min(heartdisease$age, na.rm = TRUE)
varianza_age <- var(heartdisease$age, na.rm = TRUE)
cat("Desviación Estándar de age:", desviacion_age, "\n")## Desviación Estándar de age: 9.150256
## Curtosis de age: -0.4565078
## Rango de age: 49
## Varianza de age: 83.72719
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
#Tabla para trestbps
desviacion_trestbps <- sd(heartdisease$trestbps, na.rm = TRUE)
curtosis_trestbps <- e1071::kurtosis(heartdisease$trestbps, na.rm = TRUE)
rango_trestbps <- max(heartdisease$trestbps, na.rm = TRUE) - min(heartdisease$trestbps, na.rm = TRUE)
varianza_trestbps <- var(heartdisease$trestbps, na.rm = TRUE)
cat("Desviación Estándar de trestbps:", desviacion_trestbps, "\n")## Desviación Estándar de trestbps: 17.57095
## Curtosis de trestbps: 0.833884
## Rango de trestbps: 106
## Varianza de trestbps: 308.7382
mediana_trestbps <- median(heartdisease$trestbps, na.rm = TRUE)
print(paste("Mediana de trestbps:", mediana_trestbps))## [1] "Mediana de trestbps: 130"
media_trestbps <- mean(heartdisease$trestbps, na.rm = TRUE)
cat("Media de trestbps:", media_trestbps, "\n")## Media de trestbps: 131.6842
moda_trestbps <- as.numeric(names(sort(table(heartdisease$trestbps), decreasing = TRUE)[1]))
cat("Moda de trestbps:", moda_trestbps, "\n")## Moda de trestbps: 120
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
En cuanto a la presión arterial, la mediana es de 130 mmHg y la media de 131.68 mmHg, mientras que la moda se encuentra en 120 mmHg. La desviación estándar de 17.57 indica una dispersión relativamente alta de los valores de presión arterial. La curtosis positiva (0.83) sugiere que la distribución es más puntiaguda y concentrada en comparación con una distribución normal. El rango de presión arterial es de 106 mmHg, lo que muestra una variabilidad considerable en los niveles de presión arterial dentro de la muestra. Estos datos indican que la presión arterial varía ampliamente en la población estudiada, con una tendencia hacia valores más altos en promedio, pero con una dispersión significativa.
#Tabla para num
mediana_num <- median(heartdisease$num, na.rm = TRUE)
print(paste("Mediana de num:", mediana_num))## [1] "Mediana de num: 0"
moda_num <- as.numeric(names(sort(table(heartdisease$num), decreasing = TRUE)[1]))
cat("Moda de num:", moda_num, "\n")## Moda de num: 0
|
|
|---|---|
|
|
Los datos de gravedad de enfermedad cardíaca revelan una mediana y una moda de 0, lo que indica que la mayoría de los individuos en el conjunto de datos no presentan gravedad significativa en sus enfermedades cardíacas. Esto podría ser un hallazgo positivo desde el punto de vista de la salud, pero es importante analizar estos datos en conjunto con otros factores clínicos y de salud para obtener una imagen completa de la situación médica de la población estudiada.