Situación

Las pruebas diagnósticas en salud se reportan de manera cuantitativa mediante escalas continuas. Por ello el análisis de curvas ROC (receiver operating characteristic curve) constituye un método estadístico para determinar la exactitud diagnóstica de las pruebas, con el fin de: determinar el punto de corte de una escala continua que representa la mayor sensibilidad y especificidad más alta, su capacidad de diferenciar sujetos sanos versus enfermos, y comparar la capacidad discriminativa de dos o más pruebas diagnósticas.

Base de datos

En este caso han sido valorados 1030 individuos con respecto a aspectos demográficos, antropométricos, antecedentes familiares y personales, niveles de exámenes bioquímicos y su condición con respecto a clasificación de su estado de tolerancia a la glicemia; de los que se estudiará unicamente la población de hombres y de esta manera se realizarán comparaciones de curvas ROC para escoger el mejor punto de predicción diagnóstico de diabetes mellitus (DM) con respecto a las variables IMC (PESO/TALLA^2), Perímetro de cintura, Perímetro de cadera, y niveles de HDL Colesterol (HDL).

A continuación se presenta la base de datos de 1030 sujetos valorados, en donde se muestran todas las variables recopiladas en cada una de las 34 columnas y las primeras 15 observaciones.

Tabla 1: Base de datos de los 1030 sujetos valorados
ID EDAD SEXO PESO TALLA IMC SEDENTARIO TAS TAD HTA_conocida A_DIAB ECV_B TABACO ALCOHOL STATIN CINTURA CADERA OBCENT_ATP COLESTEROL HDL LDL LDL_C TG CnoHDL ApoA ApoB LPA A1C hba1 CREATININA GLUCB Tol_Glucosa DM SM
1 44 1 1212 1756 39 1 150 90 0 0 0 0 0 0 122 111 1 199 42 137 120 - 140 101 157 975 70 239 54835 6,8 0,8 106 IGT 0 1
2 68 1 65 163 24 1 110 60 0 1 0 1 0 1 106 103 1 269 42 168 160 - 180 295 227 1048 122 65 10901 13,3 0,8 323 DM 1 1
3 39 1 828 1738 27 0 110 70 0 1 0 0 1 0 94 100 0 183 62 109 100 - 120 57 121 NA NA 239 5385 6,9 1 98 IGT 0 0
4 49 1 94 173 31 1 125 875 0 1 0 0 1 0 107 103 1 202 55 135 120 - 140 60 147 1515 103 31 5976 7,6 0,9 98 NGT 0 0
5 37 0 70 154 30 1 125 65 0 1 0 0 0 0 88 99 1 179 67 91 80 - 100 108 112 NA NA 108 50895 6,7 0,7 96 NGT 0 0
6 40 1 592 1645 22 0 110 70 0 0 0 1 1 0 82 88 0 212 37 141 140 - 160 173 175 1084 98 239 5385 6,8 0,8 88 NGT 0 0
7 37 0 55 1612 21 0 115 75 0 0 0 0 0 0 755 87 0 186 52 119 100 - 120 75 134 1439 82 349 46955 5,7 0,7 88 NGT 0 0
9 37 1 902 1733 30 1 115 65 0 0 0 1 1 0 101 103 0 166 45 99 80 - 100 111 121 1149 61 349 50895 6,1 0,9 95 NGT 0 0
10 35 1 772 1668 28 1 110 75 0 0 0 1 0 0 92 90 0 139 27 72 60 - 80 204 112 796 57 472 60745 7,8 0,8 92 NGT 0 0
11 44 1 639 163 24 0 115 85 0 1 0 0 0 1 95 96 0 213 49 140 120 - 140 122 164 1123 73 956 5582 7,2 0,9 100 IFG 0 1
12 37 1 809 1808 25 1 145 75 0 0 0 0 1 0 95 96 0 196 52 127 120 - 140 83 144 1179 64 239 5385 6,8 0,8 98 NGT 0 0
13 39 1 769 1823 23 0 140 90 0 0 0 0 1 0 91 94 0 164 45 101 100 - 120 93 119 1156 66 473 5188 6,4 0,8 98 NGT 0 0
14 40 1 724 1724 24 1 1125 60 0 0 0 1 1 0 90 89 0 224 49 145 140 - 160 149 175 NA NA 599 46955 5,9 0,9 90 NGT 0 0
15 43 1 764 1743 25 0 160 100 1 1 0 0 1 0 89 95 0 217 50 151 140 - 160 79 167 1182 91 553 52865 6,4 1 115 IGT 0 0
16 42 0 1006 1572 41 0 110 70 0 1 0 1 0 0 1105 124 1 196 40 125 120 - 140 155 156 130 87 39 5779 7,5 0,7 112 IFG 0 1
Note: Fuente: Datos proyecto

En este trabajo, se busca relacionar en la poblacion de hombres, la condición de tener o no diabetes mellitus a partir de algunas covariables que se toman como tests diagnósticos. Estas variables están relacionadas con aspectos, antropométricos, tales como el (IMC) indice de masa corporal, Perímetro de cintura, Perímetro de cadera, y niveles de HDL Colesterol (HDL), con el objetivo de evaluar que tan acertado diagnóstico pueden arrojar.

1. Exploración de variables

En primer lugar, se observa la relación existente entre la presencia o ausencia de diabetes mellitus en la edad de los hombres por medio de un diagrama de cajas y bigotes teniendo en cuenta la base de datos del estudio. A partir de gáfico se observaran los cuartiles y la mediana para la edad, teniendo en cuenta que los datos se agrupan en tener o no diabetes mellitus. A simple vista, se evidencia que la diferencia entre los dos grupos respecto a la edad esta bien marcada, si se toma el 25% de los hombres sin diabetes se encuentra que la persona con mas edad, esta entre los 35 y 40 años mientras que si se tomas el 25% de los hombres con diabetes, el hombre que mas edad está entre 50 y 55 años; por otro lado si se toma la mitad de los hombres de cada grupo (con diabetes mellitusy sin diabetes mellitus),se evidencia que la mitad de las personas sin diabetes estan por debajo de los 45 años y del grupo de las personas que tienen diabetes, la mitad de ellas estan por debajo de aprox 61 años.

Tabla 2: Relación presencia de Diabetes mellitus y edad de hombres
Condición Casos Mediana Desviación estandar
Sin diabetes 374 45 11.33
Con diabetes 74 61 10.58

A partir de los resultados, se puede observar que existe un dato atipico, en ese caso no se puede analizar respecto al promedio de las edades de los hombres con o sin diabetes mellitus, en el grupo de los 74 hombres con diabetes la mediana de la edad es de 61 años por encima de la mediana de edad del otro grupo de los 374 hombres sin diabetes donde su mediana es de 45 años; al parecer possen medianas diferentes, pero se hace necesario realizar una prueba no parametrica (wilcoxon); prueba alternativa de la t-student, debido a que no se compara medianas por el dato atipico sino la mediana; Las hipótesis a contrastar son las siguientes:

\[\begin{aligned} H_0&: \mbox{Mediana de edad en hombres diabéticos = Mediana de edad en hombres no diabéticos } vs\\H_1&: \mbox{Mediana de edad en hombres diabéticos} \neq \mbox{Mediana de edad en hombres diabéticos } \end{aligned}\]

Los resultados de la prueba se presentan en la siguiente tabla:

Tabla 3: Prueba Wilcoxon para la diferencia de medianas entre las edades de Hombres diabéticos y no diabéticos
Estadístico P-valor
5946 0.00086

A partir de los resultados obtenidos y un p-valor menor que el 5%, se puede afirmar que con una confianza del \(95\%\), la hipótesis nula se rechaza, por lo que hay evidencia estadística para sostener que hay diferencia entre las medianas de las edades de los hombres diabeticos y no diabeticos.

A continuación se conocerá la relación de los hombres del proyecto de investigación con las variables predictoras, las cuales son: índice de masa corporal, niveles de colesterol, perímetro de la cadera y perímetro de la cintura; en el grafico 2 se conoce la distribución de los hombres con el IMC (Índice de masa corporal) con diabetes o sin diabetes ademas lo relacionado a los cuartiles y mediana para cada grupo; en este grafico se puede observar que de los 448 hombres, tomando los que no tienen diabetes la mitad de ellos tiene una mediana entre el 40 y 50 y de los hombres con diabetes, la mitad de ellos cuentan con un indice menor o igual a aprox 60, adicionalmente se encuentra por lo menos una persona con unos indice muy elevados respecto a su grupo y el grafico los detecta como atipicos lo cual indica que la distribucion de los datos no se puede analizar respecto a la media y no esta normalmente distribuida.

En el siguiente grafico (Grafico:3), se observa que los 448 hombres con diabtes y sin diabetes en la medida relacionada a los niveles de colesterol, el cual revela que existen diferencias en las medianas para cada grupo mostrando que si se toma la mitad de los hombres con diabetes se encuentran con un nivel de colesterol menor o igual a 60 y del grupo de los hombres sin diabetes la mitad de ellos poseen un nivel de colesterol menor o igual a aprox 45, por otro lado existe una persona con un maximo nivel de colesterol en el grupo de los hombres sin diabetes con un nivel de aprox 80.

De los siguientes graficos el Grafico:4, revela como se encuentran distribuido los 448 hombres en la medida relacionada al perímetro de la cintura; en donde se puede notar que la mayor cantidad de hombres que cuentan con un perímetro de cadera, se ubican o tienen una medida entre 90 y 100, indicando ademas que hay un punto maximo de cantidad de aprox unos 25 hombres que cuentan con un perímetro entre 90-100; adicional a esto se puede afirmar que la menor concentración de hombres cuentan con un perimetro entre 60 y 80; por ultimo, se diria que los datos del perimetro aparentan no estar normalmente distribuidos.

Por otro lado en el Grafico:5, se observa que los 448 hombres en la medida relacionada al perímetro de la cadera se encuentran un poco mas altas las medidas ya que la maxima medida es de aprox 130 de perimetro de cadera, donde se puede notar que la mayor cantidad de hombres que cuentan con un perímetro de cadera, se ubican o tienen una medida entre 90 y 110, indicando ademas que hay un punto maximo de cantidad de aprox unos 45 hombres que cuentan con un perímetro entre 95-100; adicional a esto se puede afirmar que la menor concentración de hombres cuentan con un perimetro de cadera menor a 90; por otra parte se diria que los datos del perimetro de cadera muestran que estan normalmente distribuidos.

En terminos generales se puede notar en algunas de las covariables (IMC,HDL,perímetro de la cadera y perímetro de la cintura) con la variable respuesta DM Mellitus para los hombres, no poseen una distribución normal, sin embargo se debe recurrir a una prueba de normalidad para comprobar este supuesto el cual se representa por medio de las siguientes pruebas de hipótesis:

\[\begin{aligned} H_0&: \mbox{La distribución de las Covariables es Normal} vs\\H_1&:\mbox{La distribución de las Covariables no es Normal} \end{aligned}\]

Los resultados del test se presentan en la siguiente tabla:

Tabla 4.Prueba de Normalidad (Llillefors) para las covariables
Covariables Estadistico P.valor
Indice de masa corporal (IMC) 0.1021667 0.00e+00
Perimetro de la cintura 0.3071470 0.00e+00
Perimetro de la cadera 0.4868356 0.00e+00
Niveles de Colesterol 0.0670998 5.19e-05
Note:
Fuente:Datos Proyecto

A partir de los resultados obtenidos y un p-valor menor que el 5%, se puede afirmar que con una confianza del \(95\%\), la hipótesis nula se rechaza, por lo que hay evidencia estadística para sostener que los datos de IMC,HDL,perímetro de la cintura y perímetro de la cadera no estan normalmente distribuidos, evidenciando lo que se observo en los graficos 2,3,4 y 5 donde se revela que existe un sesgo en los datos recolectados de loshombres en las covariables del estudio; por esta razón no se puede realizar comparaciones respecto a la media sino en la mediana de los hombres con diabetes o sin diabetes en el indice de masa corporal, niveles de colesterol, perímetro de cintura y perímetro de la cadera.

A continuación se relacionan las medias de IMC,HDL,Perimetro de la cintura y perimetro de la cader ane la poblacion de los hombres con diabetes y sin diabetes:

Tabla 5: Relación presencia/Ausencia de Diabetes mellitus hombres con las Variables Predictoras
Condición Casos Mediana de IMC Mediana de Cintura Mediana de Cadera Mediana de HDL
Sin diabetes 374 28 100.0 102 50.0
Con diabetes 74 29 105.5 105 45.5

Teniendo en cuenta los resultados anteriores de la tabla:5, en el grupo de los 74 hombres con diabetes la mediana de la IMC es de 29, eso indica que si se toman los primeros 37 hombres el que tiene mayor indice de masa corporal es de 29, frente al grupo de hombres sin diabetes que se encuentra en 28; por otro lado en la medida del perímetro de cintura si se toman los primeros 187 del grupo de hombres sin diabetes se encuentra que el que tiene mayor perímetro tiene 100cm a diferencia del grupo de hombres tienen diabetes que su mediana esta en 105, indicando que si se toman los primeros 37 el que mayor perímetro tiene es de 105; siguiendo con el análisis, en relación a la medidad d ela cadera, se encuentra que en el grupo de hombres con diabetes cuenta con una mediana de 105, mostrando que tomando la mitad de ellos el que mayor medida de cadera tiene 105cm frente a la población de hombres sin diabetes que su mediana se encuentra en 102, revelando que tomando la mitad de ese grupo el que mayor medida de cadera tiene es de 102 y por ultimo se realizan comparaciones de la mediana de los niveles de colesterol en los que su medida para el grupo de hombres de diabeticos es de 45 y para los no diabeticos se encuentra en 50.

Resumiendo toda al información del cuadro anterior (tabla:5), se podria decir que existe diferencia en las medianas de los grupos de hombres con diabetes y sin diabetes,si embargo estas medidas se deben comprobar es por esto que las pruebas de hipotesis que se plantean son:

\[\begin{aligned} H_0&: \mbox{Mediana de las covariales en hombres diabéticos = Mediana de las covariales en hombres no diabéticos } vs\\H_1&: \mbox{Mediana de las covariales en hombres diabéticos} \neq \mbox{Mediana de las covariales en hombres diabéticos } \end{aligned}\]

Posteriormente se realiza una prueba no parametrica llamada WILCONSOX, prueba alternativa a la T-student, cuando los datos no son normales o se realiza un análisis en torno a la mediana; estos resultados se muestran continuación:

Tabla 6.Tes de Wilconsox para las diferencias de medianas entre hombres con presencia/ausencia de diabetes
Covariables Estadístico. P.valor
Índice de masa corporal (IMC) 1101 0.00540
Perímetro de cintura 8887 0.00061
Perímetro de cadera 9707 0.00048
Niveles de colesterol 1628 0.01623
Note:
Fuente:Para variables predictoras

Observando los resultados obtenidos y un p-valor menor que el 5% en todas las covariables, se puede afirmar que con una confianza del \(95\%\), la hipótesis nula se rechaza en todas las covariables, por lo que hay evidencia estadística para sostener que hay diferencia medianas en el IMC,HDL,perímetro de la cintura y perímetro de la cadera de grupos presencia/ausencia en la población de los 448 hombres de los 1030 sujetos estudiados de en los datos del proyecto de investigación.

2. Curvas Roc

Dentro de la gran variedad de prubas diagnósticas al alcance de las personas hoy en día, se encuentran algunas que arrojan resultados cuantitativos, ya sea a manera de escalas o recuentos,como en el caso de las pruebas de glucemia, o el recuento de leucocitos. En estos casos, es necesario plantear un punto de corte para clasificar la presencia del diagnóstico de alguna enfermedad (Se tiene o no la condición). Con las curvas Roc se busca encontrar ese punto de corte en el que se alcance una alta sensibilidad (casos positivos acertados), en conjunto con un buen nivel de especificidad (Casos negativos acertados), de manera que se obtenga un test con la mayor exactitud diagnóstica , o en otras palabras la capacidad de discriminar entre individuos con y sin la enfermedad o condición.

Es por esto, que para evaluar pruebas con base en resultados continuos como el índice de Masa corporal (IMC), DHL, perímetos de cintura y cadera se realizarán las curvas Roc de cada uno. De manera que se pueda visualizar por medio de éstas, los puntos de corte adecuados para discriminar entre tener o no Diabetes y con cuál se puede obtener un mejor diágnostico.

Diabetes Mellitus: Prueba diagnóstica IMC

Teniendo en cuenta la curva Roc y su punto de corte, un hombre será diagnósticado con Diabetes cuando tiene un IMC mayor a 26.5. De esta manera se cuenta con una sensibilidad del 79.7 y una especificidad del 36.63%. Estos datos se pueden visualizar en la siguiente tabla:

Tabla 7:Test IMC - Diabetes
No diabético Diabético
Test(-) 36.63 20.27
Test(+) 63.37 79.73

Diabetes Mellitus: Prueba diagnóstica Perímetro de cintura

Para este caso, teniendo en cuenta el punto de corte, un hombre a será diagnósticado con Diabetes cuando tiene un perímetro de cintura mayor a 98.5. De esta manera se cuenta con una sensibilidad del 86.5 y una especificidad del 43.8%.

Tabla 8:Test perímetro de Cintura - Diabetes
No diabético Diabético
Test(-) 43.85 13.51
Test(+) 56.15 86.49

Diabetes Mellitus: Prueba diagnóstica Perímetro de cadera

Cuando se toma como prueba diagnóstica el perímetro de la cadera, se obtuvo un punto de corte de 100.5. Esto quiere decir que una hombre será diagnósticado con Diabetes cuando tiene un perímetro de cintura mayor a 100.5. De esta manera se cuenta con una sensibilidad del 77.0% y una especificidad del 46.26%.

Tabla 9:Test perímetro de cadera - Diabetes
No diabético Diabético
Test(-) 46.26 22.97
Test(+) 53.74 77.03

Diabetes Mellitus: Prueba diagnóstica Nivel HDL

Como última prueba, se tuvo en cuenta el nivel de HDL (Colesterol). En este caso, mediante la curva Roc se obtuvo un punto de corte de 41.5, lo que quiere decir que un hombre con un nivel de HDL mayor a 41.5 será diagnósticado con Diabetes. PAra este caso, la sensibilidad es del 66.2% y la especificidad del 17.11%.

Tabla 10:Test HDL - Diabetes
No diabético Diabético
Test(-) 17.11 33.78
Test(+) 82.89 66.22

3. Comparanción entre pruebas

La capacidad de una prueba para discriminar entre personas con o sin una determinada enfermedad se encuentra relacionada con el área bajo la curva ROC.Este determina que tan bueno es el test en cada uno de los posibles puntos de corte para poder predecir los verdaderos positivos y los falsos negativos.

A continuación se relacionan los resultados de las cada prueba en donde se evalua la capacidad de diagnósticas la diabetes mellitus teniendo en cuenta el IMC,HDL, el perímetro de la cadera y el perímetro de la cintura.

Tabla 11.Comparación de los resultados de pruebas para predecir la Diabetes Mellitus
Covariable Punto.de.corte Sensibilidad Especificidad AUC
Índice de masa corporal (IMC) 26.5 79.7 36.6 60.2
Perímetro de cintura 98.5 86.5 43.9 67.9
Perímetro de cadera 100.5 77.0 46.3 64.9
Niveles de colesterol 41.5 33.8 82.9 58.8
Note:
Especificidad, sensibilidad y AUC se expresan en porcentaje

Teniendo en cuenta que la curva Roc relaciona la proporción de positivos acertados con los falsos positivos o el complemento de la especificidad, es por esto que la diagonal recta que va desde 0,0 a 1,1 se refiere a no discriminación, pues la proporción de sanos y enfermos positivos es la misma. De esta manera, mientras mayor sea el área bajo la curva mejor es el test para discriminar y dar el diagnóstico. Para este caso en específico, el área bajo las curvas de todas las pruebas no resulta ser muy alto, siendo la medida del perímetro de la cintura el que mejor discrimina a la diabetes en la población masculina con un área de 67.9 (lo que se refleja al tener la mayor sensibilidad y especificidad en conjunto con respecto a las demás), mientras la prueba con menor área es la de HDL con solo un 58.8.

4. Resumen del Código

# Paquetes
library(datasets) #filtrar
library(readr)
library(dplyr)
library(forcats)
library(base)
library(dplyr)
library(ggplot2)
library(MASS)
library(broom)
library(purrr)
library(formattable)
library(janitor)
require(reshape)
library(knitr)
library(plotly)
library(kableExtra)
library(huxtable)
library(pROC)
library(ROCR)
library(forcats)
library(base)

#base de datos
library(readr)
datosendo <- read_delim("endocrinov2.csv", 
    ";", escape_double = FALSE, trim_ws = TRUE)

# Colocando niveles a las variables
datosendo$SEXO<-as.factor(datosendo$SEXO)
datosendo$DM=as.factor(datosendo$DM)

#omitiendo los NA
na.omit(datosendo)

#tabla de datos
kable(datosendo[1:15,],caption= "Tabla 1: Base de datos de los 1030 sujetos valorados en el proyecto") %>%
  kable_paper("hover", full_width = F) %>%
    column_spec(3, width = "20em", background = "beige")%>%
  kable_styling(fixed_thead = F)%>%
   scroll_box(width = "800px", height = "450px")%>%
  footnote("Fuente: ........")
#filtrando solo hombres
datosendoHO= filter (datosendo, SEXO== "1" )

#NIVELES DE DIABETES
datosendoHO$DM <- factor(datosendoHO$DM,labels = c("Sin diabetes","Con diabetes"))

# numericos 
datosendoHO$EDAD<-as.numeric(datosendoHO$EDAD)

#grafico de cajas y bigotes para la edad en los hombres con diabetes y sin diabetes

bp <- ggplot(datosendoHO, aes(x = factor(DM ), y = EDAD, fill = DM)) 
bp + geom_boxplot(show.legend = F) + scale_fill_brewer(palette = "RED")+
  xlab(NULL)+
  ylab("Edad")+
  ggtitle("Gráfico 1: Edad de acuerdo a la presencia o ausencia de diabetes mellitus")

#datosde medias y desviación

t1=group_by( datosendoHO, DM) %>% 
summarise(
  count = n(), 
  mean = round(mean(EDAD, na.rm = TRUE), 0),
  sd = round(sd(EDAD, na.rm = TRUE),2)
  )

#tabla de medias y desviación 
#kable(t1,col.names = c("Condición","Casos" ,"Media","Desviación estandar")) %>%
  kable_paper("hover", full_width = F,position="center") %>%
  add_header_above(c("Tabla 2: Relación presencia de Diabetes mellitus y edad de hombres"=4 ))%>%
  column_spec(2, width = "10em")%>%
  kable_styling(fixed_thead = T)
  
  #Prueba wilconsox

pruebawilcon<-wilcox.test(datosendoHO$EDAD~datosendoHO$DM,correct=FALSE,exact=FALSE)

#Tabla de pruebas de wilconsox para la edad
t2=t(c(
  Estadistico=round(pruebawilcon$statistic),
  Pvalor=0.00086))

#tabla de la prueba de wil para la edad
kable(t2,col.names = c("Estadístico","P-valor")) %>%
  kable_paper("hover", full_width = F,position="center") %>%
  add_header_above(c("Tabla 3: Prueba Wilconsox para la diferencia de medianas entre las edades de Hombres diabéticos y no diabéticos"=2 ))%>%
  column_spec(1:2, width = "5em")%>%
  kable_styling(fixed_thead = T)

#graficos 

#GRAFICO DE IMC
bp2 <- ggplot(datosendoHO, aes(x = factor(DM ), y = IMC, fill = DM)) 
bp + geom_boxplot(show.legend = F) + scale_fill_brewer(palette = "RED")+
  xlab(NULL)+
  ylab("Indice de masa corporal")+
  ggtitle("Gráfico 2: IMC de acuerdo a la presencia o ausencia de diabetes mellitus en los hombres")


#GRAFICO DE HDL
bp3 <- ggplot(datosendoHO, aes(x = factor(DM ), y = HDL, fill = DM)) 
bp + geom_boxplot(show.legend = F) + scale_fill_brewer(palette = "RED")+
  xlab(NULL)+
  ylab("Niveles de Colesterol")+
  ggtitle("Gráfico 3: HDL de acuerdo a la presencia o ausencia de diabetes mellitus en los hombres")

gra3 <- datosendoHO%>%filter(!is.na(CINTURA))%>%
  group_by(CINTURA)%>%
  ggplot(aes(CINTURA))+
  geom_bar(fill="aquamarine3")+
   xlim(c(60,100))+
  ylim(c(0,30))+
  xlab("Perímetro de Cintura") +
  ylab("N° de Hombres") + 
  ggtitle("Gráfico4:Hombres & Perímetro de Cintura")+
  theme(legend.position = "top")


gra4 <- datosendoHO%>%filter(!is.na(CADERA))%>%
  group_by(CADERA)%>%
  ggplot(aes(CADERA))+
  geom_bar(fill="aquamarine3")+
   xlim(c(75,145))+
  ylim(c(0,45))+
  xlab("Perímetro de Cadera") +
  ylab("N° de Hombres") + 
  ggtitle("Gráfico5:Hombres & Perímetro de Cadera")+
  theme(legend.position = "top")


gra3+gra4 

#test de normalidad para las covariables
library(nortest)
normIMC<-lillie.test(x = datosendoHO$IMC)
normCintura<-lillie.test(x= datosendoHO$CINTURA)
normCadera<-lillie.test(x= datosendoHO$CADERA)
normHDL<-lillie.test(x= datosendoHO$HDL)
normHDL

#tabla de la prueba normalidad

tablanormal <- data.frame("Covariables" = c(rep("Indice de masa corporal (IMC)"),rep("Perimetro de la cintura"), rep("Perimetro de la cadera"),rep("Niveles de Colesterol")),
                          "Estadistico"= c(normIMC$statistic,normCintura$statistic,normCadera$statistic,normHDL$statistic),
                          "P-valor"=c(normIMC$p.value,normCintura$p.value,normCadera$p.value,normHDL$p.value))

#tabla del tes de normalida
kbl(tablanormal, align = "c", caption ="Tabla 4.Prueba de Normalidad (Llillefors) para las covariables") %>%
  kable_paper(full_width = F) %>%
  column_spec(1, bold = T) %>%
  column_spec(2, width = "10em") %>% 
  column_spec(3, width = "10em") %>% 
  kable_styling(fixed_thead = T,full_width = F)%>%
  footnote("Fuente:Datos Proyecto")

datosendoHO$IMC=as.numeric(datosendoHO$IMC)
datosendoHO$CINTURA=as.numeric(datosendoHO$CINTURA)
datosendoHO$CADERA=as.numeric(datosendoHO$CADERA)
datosendoHO$HDL=as.numeric(datosendoHO$HDL)

#datosde medianas de covariables
tmediana=group_by( datosendoHO, DM) %>% 
summarise(
  count = n(), 
  median(ICM),
  median(CINTURA),
  median(CADERA),
  median(HDL))


#tabla de medianas de las covariables

kable(tmediana,col.names = c("Condición","Casos" ,"Mediana de ICM","Mediana de Perímetro de Cintura","Mediana de Perímetro de Cadera", "Mediana de HDL")) %>%
  kable_paper("hover", full_width = F,position="center") %>%
  add_header_above(c("Tabla 5: Relación presencia/Ausencia de Diabetes mellitus en las covariables con hombres"=6 ))%>%
  column_spec(2, width = "10em")%>%
  kable_styling(fixed_thead = T)


#Prueba wilconsox para covariables

pWilIMC<-wilcox.test(datosendoHO$IMC~datosendoHO$DM,correct=FALSE,exact=FALSE)
pWilcintura<-wilcox.test(datosendoHO$CINTURA~datosendoHO$DM,correct=FALSE,exact=FALSE)
pWilcadera<-wilcox.test(datosendoHO$CADERA~datosendoHO$DM,correct=FALSE,exact=FALSE)
pWilHDL<-wilcox.test(datosendoHO$HDL~datosendoHO$DM,correct=FALSE,exact=FALSE)

#Tabla de pruebas de wilconsox
Covariable<-c("Índice de masa corporal (IMC)","Perímetro de Cintura","Perímetro de cadera","Niveles de colesterol(HDL)")
Estadístico<-c(pWilIMC$statistic,pWilcintura$statistic,pWilcadera$statistic,pWilHDL$statistic)
P_Value<-c(pWilIMC$p.value,pWilcintura$p.value,pWilcadera$p.value,pWilHDL$p.value)
twilcova<-data_frame(table(Covariable,Estadístico,P_Value))

#tabla de prueba de wilconsox para covariables                  
 kbl(twilcova, align = "c", caption ="Tabla 6.Tes de Wilconsox para las diferencias de medianas entre hombres con presencia/ausencia de diabetes") %>%
                     kable_paper(full_width = F) %>%
                     column_spec(1, bold = T) %>%
                     column_spec(2, width = "10em") %>% 
                     column_spec(3, width = "10em") %>% 
                   kable_styling(fixed_thead = T,full_width = F)%>%
                     footnote("Fuente:Para variables predictoras")


#CREACION DE CURVAS
roc.IMC=roc(datosendoHO$DM,datosendoHO$IMC)
auc(roc.IMC) #Área bajo la curva
PC1=coords(roc.IMC, transpose = F) #puntos de corte
head(PC1)

#Pontencia estadística
power.roc.test(roc.IMC)
(ci(roc.IMC,of="threshold",threshold="best")) #punto de corte

### Crear Variables de sospechosos de acuerdo a los 4 test

datosendoHO <- mutate(datosendoHO, Positivo_IMC = ifelse(IMC >= 26.5,1,0))
datosendoHO <- mutate(datosendoHO, Positivo_CINTURA = ifelse(CINTURA >= 98.5,1,0))
datosendoHO <- mutate(datosendoHO, Positivo_CADERA = ifelse(CADERA >= 100.5,1,0))
datosendoHO <- mutate(datosendoHO, Positivo_COL = ifelse(HDL >= 41.5,1,0))

#Tabla test IMC
Tabla_IMC=round(prop.table(table(datosendoHO$Positivo_IMC,datosendoHO$DM),2)*100,2)
rownames(Tabla_IMC)=c("Test(-)","Test(+)")
Tabla_CINT=round(prop.table(table(datosendoHO$Positivo_CINTURA,datosendoHO$DM),2)*100,2)
rownames(Tabla_CINT)=c("Test(-)","Test(+)")
Tabla_CAD=round(prop.table(table(datosendoHO$Positivo_CADERA,datosendoHO$DM),2)*100,2)
rownames(Tabla_CAD)=c("Test(-)","Test(+)")
Tabla_COL=round(prop.table(table(datosendoHO$Positivo_COL,datosendoHO$DM),2)*100,2)
rownames(Tabla_COL)=c("Test(-)","Test(+)")

#Curva más estéticas IMC & DM
par(pty = "s")
roc.IMC3= plot.roc(datosendoHO$DM,datosendoHO$IMC, main="Diabetes - Prueba IMC", percent=T, ci=T, print.auc=T,of="threshold",threshold="best",print.thres="best",legacy.axes=TRUE,col=2,xlab="1-Especificidad (%)", ylab="Sensibilidad (%)")

#Tablas con Kable
kable(Tabla_IMC,caption= "Tabla 7:Test IMC - Diabetes",col.names=c("No diabético","Diabético")) %>%
   kable_paper("hover", full_width = F) %>%
    kable_styling(fixed_thead = F,position = "c")

#Perimetro cintura & DM
par(pty = "s")
roc.CINT= plot.roc(datosendoHO$DM,datosendoHO$CINTURA, main="Diabetes -  Perímetro de cintura ", percent=T, ci=T, print.auc=T,of="threshold",threshold="best",print.thres="best",legacy.axes=TRUE,col=3,xlab="1-Especificidad (%)", ylab="Sensibilidad (%)")

kable(Tabla_CAD,caption= "Tabla 8:Test perímetro de cadera - Diabetes",col.names=c("No diabético","Diabético")) %>%
  kable_paper("hover", full_width = F) %>%
  kable_styling(fixed_thead = F)

#Perimetro cadera & DM
par(pty = "s")
roc.CAD= plot.roc(datosendoHO$DM,datosendoHO$CADERA, main="Diabetes - Perímetro de cadera", percent=T, ci=T, print.auc=T,of="threshold",threshold="best",print.thres="best",legacy.axes=TRUE,col=4,xlab="1-Especificidad (%)", ylab="Sensibilidad (%)")

##cOLESTEROL HDL & DM
par(pty = "s")
roc.COL= plot.roc(datosendoHO$DM,datosendoHO$HDL, main="Diabetes - Colesterol (HDL)", percent=T, ci=T, print.auc=T,of="threshold",threshold="best",print.thres="best",legacy.axes=TRUE,col=5,xlab="1-Especificidad (%)", ylab="Sensibilidad (%)")

kable(Tabla_COL,caption= "Tabla 9:Test HDL - Diabetes",col.names=c("No diabético","Diabético")) %>%
  kable_paper("hover", full_width = F) %>%
  kable_styling(fixed_thead = F)

#tabla de resultados
 tcompa <- data.frame("Nombre de Covariable" = c(rep("Índice de masa corporal (IMC)"),rep("Perímetro de cintura"), 
                                    rep("Perímetro de cadera"),
                                    rep("Niveles de colesterol")),
                      "Punto de corte"=c(26.5,98.5,100.5,41.5),
                   "Sensibilidad %"=c(79.7,86.5,77,33.8),
                    "Especificidad %"=c(36.6,43.9,46.3,82.9),
                   "AUC %"=c(60.2,67.9,64.9,58.8))


#tabla de resultados del tes                  
 kbl(tcompa, align = "c", caption ="Tabla 11.Comparación de los resultados de pruebas para predecir la Diabetes Mellitus") %>%
                     kable_paper(full_width = F) %>%
                     column_spec(1, bold = T) %>%
                     column_spec(2, width = "10em") %>% 
                     column_spec(3, width = "10em") %>% 
                   kable_styling(fixed_thead = T,full_width = F)%>%
                     footnote("Variable predictora Diabetes Mellitus")