Datos a analizar
#DATOS DE ENFERMEDADES DEL corazón
#Para leer desde INTERNET
dataD <- read.csv("https://archive.ics.uci.edu/ml/machine-learning-databases/heart-disease/processed.cleveland.data",header=FALSE,sep=",",na.strings = '?')
#RENOMBRAR LAS COLUMNAS
names(dataD) <- c( "age", "sex", "cp", "trestbps", "chol","fbs", "restecg","thalach","exang", "oldpeak","slope", "ca", "thal", "num")
#Modificacion de la data
dataD$sex[dataD$sex==1]<- "Masculino"
dataD$sex[dataD$sex==0]<- "Femenino"
dataD$cp[dataD$cp==1] <- "Tipo 1"
dataD$cp[dataD$cp==2] <- "Tipo 2"
dataD$cp[dataD$cp==3] <- "Tipo 3"
dataD$cp[dataD$cp==4] <- "Tipo 4"
dataD$fbs[dataD$fbs==1] <- "verdadero"
dataD$fbs[dataD$fbs==0] <- "falso"
dataD$restecg[dataD$restecg==0] <- "Nivel 0"
dataD$restecg[dataD$restecg==1] <- "Nivel 1"
dataD$restecg[dataD$restecg==2] <- "Nivel 2"
dataD$exang[dataD$exang==1] <- "Si"
dataD$exang[dataD$exang==0] <- "No"
dataD$slope[dataD$slope==1] <- "Valor 1"
dataD$slope[dataD$slope==2] <- "Valor 2"
dataD$slope[dataD$slope==3] <- "Valor 3"
dataD$thal[dataD$thal==3] <- "N"
dataD$thal[dataD$thal==6] <- "DF"
dataD$thal[dataD$thal==7] <- "DR"
#Nueva Columna
c <- dataD$num
heart <- data.frame("Heart"=c(c))
heart$Heart[heart$Heart==0] <- "No"
heart$Heart[heart$Heart==1] <- "Si"
heart$Heart[heart$Heart==2] <- "Si"
heart$Heart[heart$Heart==3] <- "Si"
heart$Heart[heart$Heart==4] <- "Si"
#Agregando Heart a dataD
dataD <- cbind(dataD,heart)
pander::pandoc.table(
head(dataD))
age | sex | cp | trestbps | chol | fbs | restecg | thalach |
---|---|---|---|---|---|---|---|
63 | Masculino | Tipo 1 | 145 | 233 | verdadero | Nivel 2 | 150 |
67 | Masculino | Tipo 4 | 160 | 286 | falso | Nivel 2 | 108 |
67 | Masculino | Tipo 4 | 120 | 229 | falso | Nivel 2 | 129 |
37 | Masculino | Tipo 3 | 130 | 250 | falso | Nivel 0 | 187 |
41 | Femenino | Tipo 2 | 130 | 204 | falso | Nivel 2 | 172 |
56 | Masculino | Tipo 2 | 120 | 236 | falso | Nivel 0 | 178 |
exang | oldpeak | slope | ca | thal | num | Heart |
---|---|---|---|---|---|---|
No | 2.3 | Valor 3 | 0 | DF | 0 | No |
Si | 1.5 | Valor 2 | 3 | N | 2 | Si |
Si | 2.6 | Valor 2 | 2 | DR | 1 | Si |
No | 3.5 | Valor 3 | 0 | N | 0 | No |
No | 1.4 | Valor 1 | 0 | N | 0 | No |
No | 0.8 | Valor 1 | 0 | N | 0 | No |
Medidas estadisticas de variables cuantitativas
V.Cuantitativas <- data.frame("age"= dataD$age,"Trestbps"= dataD$trestbps,"chol"=dataD$chol,"thalach"=dataD$thalach,"oldpeak"=dataD$oldpeak)
knitr::kable(summary(V.Cuantitativas))
age | Trestbps | chol | thalach | oldpeak | |
---|---|---|---|---|---|
Min. :29.00 | Min. : 94.0 | Min. :126.0 | Min. : 71.0 | Min. :0.00 | |
1st Qu.:48.00 | 1st Qu.:120.0 | 1st Qu.:211.0 | 1st Qu.:133.5 | 1st Qu.:0.00 | |
Median :56.00 | Median :130.0 | Median :241.0 | Median :153.0 | Median :0.80 | |
Mean :54.44 | Mean :131.7 | Mean :246.7 | Mean :149.6 | Mean :1.04 | |
3rd Qu.:61.00 | 3rd Qu.:140.0 | 3rd Qu.:275.0 | 3rd Qu.:166.0 | 3rd Qu.:1.60 | |
Max. :77.00 | Max. :200.0 | Max. :564.0 | Max. :202.0 | Max. :6.20 |
Desviacion Estandar
z <- data.frame("Variable"= c("age","Trestbps","chol","thalach","oldpeak"),"Desv.Estandar"= c(sqrt(var(dataD$age)),sqrt(var(dataD$trestbps)),sqrt(var(dataD$chol)),sqrt(var(dataD$thalach)),sqrt(var(dataD$oldpeak))))
knitr::kable(z)
Variable | Desv.Estandar |
---|---|
age | 9.038662 |
Trestbps | 17.599748 |
chol | 51.776918 |
thalach | 22.875003 |
oldpeak | 1.161075 |
library(ggplot2)
par(2)
NULL
#Histograma de Edad
ggplot(V.Cuantitativas, aes(age)) +
geom_histogram(aes(fill=..count..), bins=10, color="white") +
geom_vline(aes(xintercept=mean(age)), color="red") +
geom_vline(aes(xintercept=median(age)), color= "darkgreen") +
labs(title = "Histograma de Edad",
x = "Edades",
y = "Frecuencia") +
scale_fill_continuous(name="Frecuencia") +
theme_classic()
boxplot(V.Cuantitativas$age, xlab = "Edades",col = "lightblue",bg = 'transparent',horizontal = T)
————————————————————-Gráfico 2————————————————————-
#Histograma de Trestbp
ggplot(V.Cuantitativas, aes(Trestbps)) +
geom_histogram(aes(fill=..count..), bins=10, color="white") +
geom_vline(aes(xintercept=mean(Trestbps)), color="red") +
geom_vline(aes(xintercept=median(Trestbps)), color= "darkgreen") +
labs(title = "Histograma de Trestbps",
x = "Presión arterial en reposo",
y = "Frecuencia") +
scale_fill_continuous(name="Frecuencia") +
theme_classic()
boxplot(V.Cuantitativas$Trestbps, xlab = "Trestbp",col = "lightblue",bg = 'transparent',horizontal = T)
————————————————————-Gráfico 3————————————————————-
#Histograma de chol
ggplot(V.Cuantitativas, aes(chol)) +
geom_histogram(aes(fill=..count..), bins=6, color="white") +
geom_vline(aes(xintercept=mean(chol)), color="red") +
geom_vline(aes(xintercept=median(chol)), color= "darkgreen") +
labs(title = "Histograma de chol",
x = "Colesterol serico en mg/dl",
y = "Frecuencia") +
scale_fill_continuous(name="Frecuencia") +
theme_classic()
boxplot(V.Cuantitativas$chol, xlab = "chol",col = "lightblue",bg = 'transparent',horizontal = T)
————————————————————-Gráfico 4————————————————————-
#Histograma de thalach
ggplot(V.Cuantitativas, aes(thalach)) +
geom_histogram(aes(fill=..count..), bins=10, color="white") +
geom_vline(aes(xintercept=mean(thalach)), color="red") +
geom_vline(aes(xintercept=median(thalach)), color= "darkgreen") +
labs(title = "Histograma de Thalach",
x = " Frec. cardiaca máxima alcanzada",
y = "Total de frecuencias") +
scale_fill_continuous(name="Total frecuencia") +
theme_classic()
boxplot(V.Cuantitativas$Trestbps, xlab = "thalach",col = "lightblue",bg = 'transparent',horizontal = T)
————————————————————-Gráfico 5————————————————————-
#Histograma de oldpeak
ggplot(V.Cuantitativas, aes(oldpeak)) +
geom_histogram(aes(fill=..count..), bins=8, color="white") +
geom_vline(aes(xintercept=mean(oldpeak)), color="red") +
geom_vline(aes(xintercept=median(oldpeak)), color= "darkgreen") +
labs(title = "Histograma de oldpeak",
x = "Depresión del ST inducida por el ejercicio en relación con el descanso ",
y = "Frecuencia") +
scale_fill_continuous(name="Frecuencia") +
theme_classic()
boxplot(V.Cuantitativas$Trestbps, xlab = "oldpeak",col = "lightblue",bg = 'transparent',horizontal = T)
—– Tabla de frecuencias de : Sexo del paciente —–
library(descr)
library(scales)
tabla.1 <- data.frame(freq((dataD$sex), plot = FALSE))
knitr::kable(tabla.1)
Frequency | Percent | |
---|---|---|
Femenino | 97 | 32.0132 |
Masculino | 206 | 67.9868 |
Total | 303 | 100.0000 |
#gráfico
d <- data.frame(tabla.1)
d<- d[1:2,]
d<- cbind(d,data.frame("Sexo"=c("Femenino","Masculino")))
d$Percent<- round(d$Percent,digits = 3)
ggplot(d,aes(x="",y=Percent, fill=Sexo))+
geom_bar(stat = "identity", color="grey") +
geom_text(aes(label = percent(Percent*100/10,decimal.mark = ".")),
position = position_stack(vjust = 0.5),color = "black",size = 3) +
coord_polar(theta = "y") +
scale_fill_manual(values = c("salmon","Lightblue")) +
theme_void() +
labs(title = "Gráfico : Sexo")
La angina de pecho es un tipo de dolor provocado por la reducción de flujo sanguíneo al corazón.
Según el servicio de Cardiología del Hospital Virgen de la Salud, Toledo. España (González, 2017), el dolor anginoso típico cumple las tres características siguientes:
* Malestar retroesternal típico
* Provocado por el esfuerzo o el estrés emocional
* Se alivia en unos minutos con reposo o nitratos
El dolor anginoso atípico (probable): cumple dos de las características anteriores.
Dolor no anginoso: Cumple una o ninguna de las características anteriores.
tabla.2 <- data.frame(freq((dataD$cp), plot = FALSE))
knitr::kable(tabla.2)
Frequency | Percent | |
---|---|---|
Tipo 1 | 23 | 7.590759 |
Tipo 2 | 50 | 16.501650 |
Tipo 3 | 86 | 28.382838 |
Tipo 4 | 144 | 47.524752 |
Total | 303 | 100.000000 |
#gráfico
d <- data.frame(tabla.2)
d<- d[1:4,]
d<- cbind(d,data.frame("cp"=c("Tipo 1","Tipo 2","Tipo 3","Tipo 4")))
d$Percent<- round(d$Percent,digits = 3)
ggplot(d,aes(x="",y=Percent, fill=cp))+
geom_bar(stat = "identity", color="grey") +
geom_text(aes(label = percent(Percent*100/10,decimal.mark = ".")),
position = position_stack(vjust = 0.5),color = "black",size = 3) +
coord_polar(theta = "y") +
scale_fill_manual(values = c("Lightblue","salmon","yellow","Pink")) +
theme_void() +
labs(title = "Gráfico : Tipos de dolor en el Pecho")
tabla.3 <- data.frame(freq((dataD$fbs), plot = FALSE))
knitr::kable(tabla.3)
Frequency | Percent | |
---|---|---|
falso | 258 | 85.14851 |
verdadero | 45 | 14.85149 |
Total | 303 | 100.00000 |
#gráfico
d <- data.frame(tabla.3)
d<- d[1:2,]
d<- cbind(d,data.frame("fbs"=c("falso","verdadero")))
d$Percent<- round(d$Percent,digits = 3)
ggplot(d,aes(x="",y=Percent, fill=fbs))+
geom_bar(stat = "identity", color="grey") +
geom_text(aes(label = percent(Percent*100/10,decimal.mark = ".")),
position = position_stack(vjust = 0.5),color = "black",size = 3) +
coord_polar(theta = "y") +
scale_fill_manual(values = c("Lightblue","pink")) +
theme_void() +
labs(title = "Gráfico: Azúcar en sangre en ayunas")
tabla.4<- data.frame(freq((dataD$restecg), plot = FALSE))
knitr::kable(tabla.4)
Frequency | Percent | |
---|---|---|
Nivel 0 | 151 | 49.834983 |
Nivel 1 | 4 | 1.320132 |
Nivel 2 | 148 | 48.844884 |
Total | 303 | 100.000000 |
#gráfico
d <- data.frame(tabla.4)
d<- d[1:3,]
d<- cbind(d,data.frame("restecg"=c("Nivel 0","Nivel 1","Nivel 2")))
d$Percent<- round(d$Percent,digits = 3)
ggplot(d,aes(x="",y=Percent, fill=restecg))+
geom_bar(stat = "identity", color="grey") +
geom_text(aes(label = percent(Percent*100/10,decimal.mark = ".")),
position = position_stack(vjust = 0.5),color = "black",size = 3) +
coord_polar(theta = "y") +
scale_fill_manual(values = c("Lightblue","pink","salmon")) +
theme_void() +
labs(title = "Gráfico : Resultados electrocardiográficos ")
tabla.5<- data.frame(freq((dataD$exang), plot = FALSE))
knitr::kable(tabla.5)
Frequency | Percent | |
---|---|---|
No | 204 | 67.32673 |
Si | 99 | 32.67327 |
Total | 303 | 100.00000 |
#gráfico
d <- data.frame(tabla.5)
d<- d[1:2,]
d<- cbind(d,data.frame("exang"=c("No","Si")))
d$Percent<- round(d$Percent,digits = 3)
ggplot(d,aes(x="",y=Percent, fill=exang))+
geom_bar(stat = "identity", color="grey") +
geom_text(aes(label = percent(Percent*100/10,decimal.mark = ".")),
position = position_stack(vjust = 0.5),color = "black",size = 3) +
coord_polar(theta = "y") +
scale_fill_manual(values = c("Lightblue","pink")) +
theme_void() +
labs(title = "Gráfico: Angina inducida por el ejercicio ")
tabla.6<- data.frame(freq((dataD$thal), plot = FALSE))
knitr::kable(tabla.6)
Frequency | Percent | Valid.Percent | |
---|---|---|---|
DF | 18 | 5.940594 | 5.980066 |
DR | 117 | 38.613861 | 38.870432 |
N | 166 | 54.785479 | 55.149502 |
NA’s | 2 | 0.660066 | NA |
Total | 303 | 100.000000 | 100.000000 |
#gráfico
d <- data.frame(tabla.6)
d<- d[1:3,]
d<- cbind(d,data.frame("thal"=c("DF","DR","N")))
d$Percent<- round(d$Valid.Percent,digits = 3)
ggplot(d,aes(x="",y=Percent, fill=thal))+
geom_bar(stat = "identity", color="grey") +
geom_text(aes(label = percent(Valid.Percent*100/10,decimal.mark = ".")),
position = position_stack(vjust = 0.5),color = "black",size = 3) +
coord_polar(theta = "y") +
scale_fill_manual(values = c("Lightblue","pink","salmon")) +
theme_void() +
labs(title = "Gráfico: Estado del corazón")
tabla.7<- data.frame(freq((dataD$ca), plot = FALSE))
knitr::kable(tabla.7)
Frequency | Percent | Valid.Percent | |
---|---|---|---|
0 | 176 | 58.085809 | 58.862876 |
1 | 65 | 21.452145 | 21.739130 |
2 | 38 | 12.541254 | 12.709030 |
3 | 20 | 6.600660 | 6.688963 |
NA’s | 4 | 1.320132 | NA |
Total | 303 | 100.000000 | 100.000000 |
#gráfico
d <- data.frame(tabla.7)
d<- d[1:4,]
d<- cbind(d,data.frame("ca"=c("0","1","2","3")))
d$Percent<- round(d$Valid.Percent,digits = 3)
ggplot(d,aes(x="",y=Percent, fill=ca))+
geom_bar(stat = "identity", color="grey") +
geom_text(aes(label = percent(Valid.Percent*100/10,decimal.mark = ".")),
position = position_stack(vjust = 0.5),color = "black",size = 3) +
coord_polar(theta = "y") +
scale_fill_manual(values = c("Lightblue","pink","salmon","red")) +
theme_void() +
labs(title = "N de Vasos coloreados por flourosopia")+
theme(axis.title=element_text(size=4))
tabla.8<- data.frame(freq((dataD$Heart), plot = FALSE))
knitr::kable(tabla.8)
Frequency | Percent | |
---|---|---|
No | 164 | 54.12541 |
Si | 139 | 45.87459 |
Total | 303 | 100.00000 |
#gráfico
d <- data.frame(tabla.8)
d<- d[1:2,]
d<- cbind(d,data.frame("Heart"=c("No","Si")))
d$Percent<- round(d$Percent,digits = 3)
ggplot(d,aes(x="",y=Percent, fill=Heart))+
geom_bar(stat = "identity", color="grey") +
geom_text(aes(label = percent(Percent*100/10,decimal.mark = ".")),position = position_stack(vjust = 0.5),color = "black",size = 3) + coord_polar(theta = "y") +
scale_fill_manual(values = c("Lightblue","pink","salmon","red")) +
theme_void() +
labs(title = "Gráfico: Presencia de enfermedad cardiaca ")
#Matriz de correlacion
library(corrplot)
## corrplot 0.84 loaded
M <- cor(V.Cuantitativas)
corrplot(M, method="number")
#Matriz de Varianzas y covarianzas
library(lavaan)
cov <- cov(V.Cuantitativas)
knitr::kable(cov)
age | Trestbps | chol | thalach | oldpeak | |
---|---|---|---|---|---|
age | 81.69742 | 45.328678 | 97.787489 | -81.423065 | 2.138850 |
Trestbps | 45.32868 | 309.751120 | 118.573340 | -18.258005 | 3.865638 |
chol | 97.78749 | 118.573340 | 2680.849190 | -4.064652 | 2.799282 |
thalach | -81.42307 | -18.258005 | -4.064652 | 523.265775 | -9.112209 |
oldpeak | 2.13885 | 3.865638 | 2.799282 | -9.112209 | 1.348095 |
#Matriz de diagramas de dispersion
pairs(V.Cuantitativas[,1:5], pch = 19, cex = 0.5,
col = "salmon",
lower.panel=NULL)
Femenino
fem <- dataD[dataD$sex=="Femenino",]
masc <- dataD[dataD$sex=="Masculino",]
# Medidas de dispersi?n
summary(fem$age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 34.00 50.00 57.00 55.72 63.00 76.00
Masculino
summary(masc$age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 29.00 47.00 54.50 53.83 59.75 77.00
ggplot(dataD, aes(x=sex, y=age, fill=sex) ) +
geom_boxplot(alpha=0.3, outlier.colour = "blue") +
labs(x="Género", y="Edad") +
guides(fill=FALSE) +
coord_flip() +
stat_summary(geom= "point", fun=mean, shape=16, size=4, color="red") +
geom_point(position = position_jitter(width = 0.1), alpha = 0.2)
AngTipic <- dataD[dataD$cp=="Tipo 1",]
AngAtipi <- dataD[dataD$cp=="Tipo 2",]
AngAsintom <- dataD[dataD$cp=="Tipo 3",]
AngNoDolor <- dataD[dataD$cp=="Tipo 4",]
Angina típica
# Medidas de dispersi?n
summary(AngTipic$age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 34.00 51.50 59.00 55.87 63.50 69.00
Angina atípica
summary(AngAtipi$age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 29.00 44.25 52.00 51.36 57.00 74.00
Asintomático
summary(AngAsintom$age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 37.0 47.0 53.0 53.7 60.0 76.0
Dolor no anginal
summary(AngNoDolor$age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 35.00 51.00 57.00 55.72 62.00 77.00
#gráfico
ggplot(dataD, aes(x=cp, y=age, fill=cp) ) +
geom_boxplot(alpha=0.3, outlier.colour = "blue") +
labs(x="Tipos de Angina de Pecho", y="Edad") +
guides(fill=FALSE) +
coord_flip() +
stat_summary(geom= "point", fun=mean, shape=16, size=4, color="red") +
geom_point(position = position_jitter(width = 0.1), alpha = 0.2)
Electrocardiograma estado Normal Según frecuencia cardiaca
CardNor <- dataD[dataD$restecg=="Nivel 0",]
AnorST <- dataD[dataD$restecg=="Nivel 1",]
HipVent <- dataD[dataD$restecg=="Nivel 2",]
# Medidas de dispersi?n
#Electrocardiograma estado Normal Según frecuencia cardiaca
summary(CardNor$thalach)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 71.0 139.5 158.0 151.8 169.0 194.0
Electrocardiograma estado Anormal Según frecuencia cardiaca
#Electrocardiograma estado Anormal Según frecuencia cardiaca
summary(AnorST$thalach)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 116.0 116.8 123.5 125.8 132.5 140.0
Electrocardiograma estado H.V.I Según frecuencia cardiaca
#Electrocardiograma estado H.V.I Según frecuencia cardiaca
summary(HipVent$thalach)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 90 132 150 148 162 202
#gráfico
ggplot(dataD, aes(x=restecg, y=thalach, fill=restecg) ) +
geom_boxplot(alpha=0.3, outlier.colour = "blue") +
labs(x="Resultados electrocardiográficos en reposo", y="Frecuencia cardiaca max alcanzada") +
guides(fill=FALSE) +
coord_flip() +
stat_summary(geom= "point", fun=mean, shape=16, size=4, color="red") +
geom_point(position = position_jitter(width = 0.1), alpha = 0.2)
Angina típica según colesterol
AngTipic <- dataD[dataD$cp=="Tipo 1",]
AngAtipi <- dataD[dataD$cp=="Tipo 2",]
AngAsintom <- dataD[dataD$cp=="Tipo 3",]
AngNoDolor <- dataD[dataD$cp=="Tipo 4",]
# Medidas de dispersi?n
#Angina tipica según colesterol
summary(AngTipic$chol)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 182.0 212.0 234.0 237.1 267.0 298.0
Angina atípica según colesterol
##Angina atipica según colesterol
summary(AngAtipi$chol)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 157.0 208.5 238.0 244.8 278.5 342.0
Asintomático según colesterol
#Asintomatico según colesterol
summary(AngAsintom$chol)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 126.0 212.0 234.0 244.0 267.8 564.0
Dolor no anginal según colesterol
#Dolor no anginal según colesterol
summary(AngNoDolor$chol)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 131.0 211.8 248.0 250.5 286.0 409.0
#gráfico
ggplot(dataD, aes(x=cp, y=chol, fill=cp) ) +
geom_boxplot(alpha=0.3, outlier.colour = "blue") +
labs(x="Tipo de Angina de pecho", y="Colesterol") +
guides(fill=FALSE) +
coord_flip() +
stat_summary(geom= "point", fun=mean, shape=16, size=4, color="red") +
geom_point(position = position_jitter(width = 0.1), alpha = 0.2)
Según el segmento ST: * En condiciones normales es plano o isoeléctrico. * Un ligero ascenso del ST (1 a 1.5 mm), ligeramente convexo, con morfología normal, en precordiales derechas, se puede ver en personas sanas. Sin embargo, la elevación aguda del segmento ST en el electrocardiograma, es uno de los signos más tempranos de infarto agudo del miocardio y generalmente esta relacionado con la oclusión aguda y completa de una arteria coronaria. * El descenso del segmento ST de forma aguda, es un signo de daño miocárdico, al igual que la elevación. (Aguilera, 2020)
Valor 1
ascenso <- dataD[dataD$slope=="Valor 1",]
plano <- dataD[dataD$slope=="Valor 2",]
descenso <- dataD[dataD$slope=="Valor 3",]
summary(ascenso$oldpeak)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.0000 0.0000 0.4085 0.7750 4.0000
Valor 2
summary(plano$oldpeak)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 0.600 1.200 1.429 2.000 4.200
Valor 3
summary(descenso$oldpeak)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 1.400 2.600 2.714 3.600 6.200
#gráfico
ggplot(dataD, aes(x=slope, y=oldpeak, fill=slope) ) +
geom_boxplot(alpha=0.3, outlier.colour = "blue") +
labs(x="Pendiente del segmento ST", y="Depresión del ST") +
guides(fill=FALSE) +
coord_flip() +
stat_summary(geom= "point", fun=mean, shape=16, size=4, color="red") +
geom_point(position = position_jitter(width = 0.1), alpha = 0.2)
ggplot(data=dataD, aes(x= trestbps, y= Heart, fill=Heart)) + geom_bar(stat="identity") +labs(x="Presión arterial", y="Presencia de enfermedad cardiaca") +
guides(fill=F) + coord_flip()
ggplot(data=dataD, aes(x=chol, y=Heart, fill=Heart)) + geom_bar(stat="identity")+labs(x="Colesterol", y="Presencia de enfermedad") +
guides(fill=F) + coord_flip()
ggplot(data=dataD, aes(x=Heart, y=thalach, fill=Heart)) + geom_bar(stat="identity") +labs(x="Presencia de enfermedad cardiaca", y="Frec. cardiaca máxima")
ggplot(data=dataD, aes(x=num,fill = Heart)) + geom_bar(position = "dodge")+labs(x="Presencia de enferemedad cardiaca - Etapas")
ggplot(data=dataD, aes(x=Heart, y= oldpeak, fill=Heart)) + geom_bar(stat="identity") +labs(x="Presencia de enfermedad cardiaca", y="Depresión del ST")
ggplot(data=dataD, aes(x=cp,fill = Heart)) + geom_bar(position = "dodge")+labs(x="Tipo de angina")
ggplot(data=dataD, aes(x=fbs,fill = Heart)) + geom_bar(position = "dodge")+labs(x="Azúcar en la sangre")
ggplot(data=dataD, aes(x=exang,fill = Heart)) + geom_bar(position = "dodge") +labs(x="Angina inducida por el ejercicio")
ggplot(data=dataD, aes(x=slope,fill = Heart)) + geom_bar(position = "dodge")+labs(x="Pendiente del segmento ST")
ggplot(data=dataD, aes(x=ca,fill = Heart)) + geom_bar(position = "dodge")+labs(x="Num Vasos principales")
Tallium test: Es un método imagenológico nuclear que muestra qué tan bien fluye la sangre hacia el músculo cardíaco, tanto en reposo como en actividad.
ggplot(data=dataD, aes(x=thal,fill = Heart)) + geom_bar(position = "dodge", ) +labs(x="Estado del corazón")