Cesar Augusto Prieto Sarmiento
Universidad Nacional de Colombia
Departamento de Estadística
La base de datos fue tomada de el repositorio de Dataset’s de Hugging Face https://huggingface.co/datasets/imodels/diabetes-readmission Esta a su vez tiene un link directo a la página de Machine Learning Repository el cual contiene la ficha tecnica completa de la base.
Este dataset recopila información de diez años (1999-2008) de atención clínica en 130 hospitales y redes integradas de servicios de salud en los Estados Unidos. Contiene un total de 101,766 registros correspondientes a pacientes diagnosticados con diabetes que tuvieron estancias hospitalarias de hasta 14 días. Cada fila representa un encuentro hospitalario y contiene información detallada sobre pruebas de laboratorio, medicamentos administrados y diversos aspectos del diagnóstico y tratamiento.
Para formar parte de esta base de datos, cada registro debe cumplir con los siguientes criterios:
El manejo hospitalario de pacientes con diabetes es un desafío importante debido a las múltiples complicaciones asociadas con la enfermedad. Este dataset busca abordar una problemática específica: la readmisión temprana dentro de los 30 días posteriores al alta hospitalaria.
La diabetes es una enfermedad crónica que requiere una atención continua y adecuada. A pesar de la evidencia sólida que respalda el impacto positivo de las intervenciones preventivas y terapéuticas, existe una brecha significativa entre las prácticas ideales y la atención real proporcionada en los hospitales. Este problema puede atribuirse, en parte, a una gestión inconsistente de la diabetes en los entornos hospitalarios, particularmente en el control glucémico.
El impacto de una atención inadecuada va más allá de los resultados clínicos inmediatos. Los pacientes enfrentan un mayor riesgo de complicaciones, mientras que los hospitales deben absorber costos adicionales derivados de readmisiones evitables.
El análisis de esta base de datos se publicó en el artículo titulado “Impact of HbA1c Measurement on Hospital Readmission Rates: Analysis of 70,000 Clinical Database Patient Records”, escrito por Beata Strack y colaboradores, y publicado en la revista BioMed Research International en 2014.
El objetivo principal del análisis fue investigar los factores asociados con la readmisión temprana de pacientes hospitalizados con diabetes, con un enfoque particular en la medición del HbA1c, un marcador clave para el control glucémico. Este análisis se basa en más de 50 variables que describen las características de los pacientes, los tratamientos realizados y los resultados hospitalarios.
Algunos de los atributos más destacados del dataset incluyen:
No se recomiendan divisiones específicas de datos, por lo que pueden emplearse estrategias estándar como la división en conjuntos de entrenamiento, validación y prueba según el modelo analítico.
Este reporte busca proporcionar una visión integral del dataset, estableciendo las bases para explorar y modelar los factores determinantes de las readmisiones hospitalarias de pacientes con diabetes.
Al explorar la base de datos que tenemos, podemos observar que esta cuenta con 101,766 registros y 47 variables. A continuación, se presenta un resumen de las variables presentes en el dataset:
## Rows: 101,763
## Columns: 151
## $ time_in_hospital <dbl> 4, 2, 4, 5, 1, 7, …
## $ num_lab_procedures <dbl> 66, 48, 21, 38, 6,…
## $ num_procedures <dbl> 3, 0, 3, 0, 0, 2, …
## $ num_medications <dbl> 18, 15, 23, 5, 6, …
## $ number_outpatient <dbl> 0, 4, 1, 0, 0, 0, …
## $ number_emergency <dbl> 0, 0, 0, 0, 0, 0, …
## $ number_inpatient <dbl> 1, 0, 2, 0, 0, 0, …
## $ number_diagnoses <dbl> 9, 7, 7, 2, 6, 2, …
## $ change <dbl> 1, 0, 0, 1, 0, 1, …
## $ diabetesMed <dbl> 1, 0, 1, 1, 1, 1, …
## $ `race:AfricanAmerican` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `race:Asian` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `race:Caucasian` <dbl> 1, 1, 1, 1, 0, 1, …
## $ `race:Hispanic` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `race:Other` <dbl> 0, 0, 0, 0, 1, 0, …
## $ `gender:Female` <dbl> 1, 1, 1, 1, 0, 0, …
## $ `gender:Male` <dbl> 0, 0, 0, 0, 1, 1, …
## $ `age:70+` <dbl> 1, 0, 0, 0, 0, 1, …
## $ `age:[0-10)` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `age:[10-20)` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `age:[20-50)` <dbl> 0, 1, 0, 1, 0, 0, …
## $ `age:[50-70)` <dbl> 0, 0, 1, 0, 1, 0, …
## $ `admission_type_id:Elective` <dbl> 0, 0, 1, 0, 0, 1, …
## $ `admission_type_id:Emergency` <dbl> 1, 0, 0, 1, 1, 0, …
## $ `admission_type_id:New Born` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `admission_type_id:Trauma Center` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `discharge_disposition_id:Discharged to Home` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `discharge_disposition_id:Other` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `admission_source_id:Emergency` <dbl> 1, 1, 0, 0, 1, 0, …
## $ `admission_source_id:Other` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `admission_source_id:Referral` <dbl> 0, 0, 1, 1, 0, 1, …
## $ `admission_source_id:Transfer` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Cardiology` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Emergency/Trauma` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Family/GeneralPractice` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Gastroenterology` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Hematology/Oncology` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:InternalMedicine` <dbl> 0, 0, 0, 0, 1, 0, …
## $ `medical_specialty:Nephrology` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:ObstetricsandGynecology` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Orthopedics` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Other` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Psychiatry` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Pulmonology` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Radiology` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Surgery-Cardiovascular/Thoracic` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Surgery-General` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `medical_specialty:Urology` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_1:Circulatory` <dbl> 0, 0, 0, 0, 1, 0, …
## $ `diag_1:Diabetes` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_1:Digestive` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_1:Genitourinary` <dbl> 0, 0, 0, 1, 0, 0, …
## $ `diag_1:Infectious` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_1:Injury` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_1:Mental` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_1:Musculoskeletal` <dbl> 0, 0, 1, 0, 0, 0, …
## $ `diag_1:Neoplasms` <dbl> 0, 0, 0, 0, 0, 1, …
## $ `diag_1:Non-diabetes endocrine/metabolic` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_1:Other` <dbl> 0, 1, 0, 0, 0, 0, …
## $ `diag_1:Respiratory` <dbl> 1, 0, 0, 0, 0, 0, …
## $ `diag_1:Skin` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_2:Circulatory` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_2:Diabetes` <dbl> 0, 0, 0, 1, 1, 1, …
## $ `diag_2:Digestive` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_2:Genitourinary` <dbl> 0, 1, 0, 0, 0, 0, …
## $ `diag_2:Infectious` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_2:Injury` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_2:Mental` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_2:Musculoskeletal` <dbl> 0, 0, 1, 0, 0, 0, …
## $ `diag_2:Neoplasms` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_2:Non-diabetes endocrine/metabolic` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_2:Other` <dbl> 1, 0, 0, 0, 0, 0, …
## $ `diag_2:Respiratory` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_2:Skin` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_3:Circulatory` <dbl> 0, 0, 0, 0, 1, 0, …
## $ `diag_3:Diabetes` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_3:Digestive` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_3:Genitourinary` <dbl> 0, 1, 0, 0, 0, 0, …
## $ `diag_3:Infectious` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_3:Injury` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_3:Mental` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_3:Musculoskeletal` <dbl> 0, 0, 1, 0, 0, 0, …
## $ `diag_3:Neoplasms` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_3:Non-diabetes endocrine/metabolic` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `diag_3:Other` <dbl> 0, 0, 0, 1, 0, 1, …
## $ `diag_3:Respiratory` <dbl> 1, 0, 0, 0, 0, 0, …
## $ `diag_3:Skin` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `metformin:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `metformin:No` <dbl> 0, 1, 0, 0, 1, 0, …
## $ `metformin:Steady` <dbl> 1, 0, 1, 1, 0, 1, …
## $ `metformin:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `repaglinide:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `repaglinide:No` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `repaglinide:Steady` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `repaglinide:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `nateglinide:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `nateglinide:No` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `nateglinide:Steady` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `nateglinide:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `chlorpropamide:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `chlorpropamide:No` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `chlorpropamide:Steady` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `chlorpropamide:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glimepiride:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glimepiride:No` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `glimepiride:Steady` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glimepiride:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glipizide:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glipizide:No` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `glipizide:Steady` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glipizide:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glyburide:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glyburide:No` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `glyburide:Steady` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glyburide:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `pioglitazone:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `pioglitazone:No` <dbl> 1, 1, 1, 0, 1, 1, …
## $ `pioglitazone:Steady` <dbl> 0, 0, 0, 1, 0, 0, …
## $ `pioglitazone:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `rosiglitazone:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `rosiglitazone:No` <dbl> 1, 1, 1, 1, 1, 0, …
## $ `rosiglitazone:Steady` <dbl> 0, 0, 0, 0, 0, 1, …
## $ `rosiglitazone:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `acarbose:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `acarbose:No` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `acarbose:Steady` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `acarbose:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `miglitol:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `miglitol:No` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `miglitol:Steady` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `miglitol:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `tolazamide:No` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `tolazamide:Steady` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `tolazamide:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `insulin:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `insulin:No` <dbl> 0, 1, 1, 1, 0, 1, …
## $ `insulin:Steady` <dbl> 1, 0, 0, 0, 1, 0, …
## $ `insulin:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glyburide-metformin:Down` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glyburide-metformin:No` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `glyburide-metformin:Steady` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `glyburide-metformin:Up` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `A1Cresult:>7` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `A1Cresult:>8` <dbl> 0, 0, 0, 1, 0, 0, …
## $ `A1Cresult:None` <dbl> 1, 1, 1, 0, 1, 1, …
## $ `A1Cresult:Norm` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `max_glu_serum:>200` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `max_glu_serum:>300` <dbl> 0, 0, 0, 0, 0, 0, …
## $ `max_glu_serum:None` <dbl> 1, 1, 1, 1, 1, 1, …
## $ `max_glu_serum:Norm` <dbl> 0, 0, 0, 0, 0, 0, …
## $ readmitted <dbl> 1, 0, 0, 0, 1, 0, …
Podemos observar como hay algunas variables que son de tipo factor y otras de tipo integer, luego de hacer una revisión minuciosa de la base de datos, se decidió explorar la distribucion de las variables y a la par unir aquellas que se refieren a lo mismo, para tener una mejor visualización de los datos y poder hacer un analisis mas detallado de los mismos.
A continuacion, se propuso la union de las varibles que hacen referencia a lo mismo, para tener una mejor visualizacion de los datos y poder hacer un analisis mas detallado de los mismos, se presenta un análisis de cada variable categórica presente en el dataset, incluyendo su distribución de frecuencias y niveles asociados:
La variable “diabetesMed” indica si los pacientes reciben medicación para la diabetes.
| Variable | Proporción |
|---|---|
| diabetesMed | 0.7700343 |
Una proporción significativa (77.00%) de los pacientes está bajo tratamiento, lo que refleja que la mayoría de los casos en la muestra requieren manejo farmacológico para controlar la diabetes.
T_Proportion_diabetesMed %>%
mutate(Sobrante = 1 - Proporcion) %>%
ggplot(aes(x = reorder(Variable, Proporcion))) +
geom_bar(aes(y = 1), stat = "identity", fill = "grey90") + # Barra gris del 100%
geom_bar(aes(y = Proporcion), stat = "identity", fill = "steelblue") + # Barra azul de la proporción
coord_flip() +
ggtitle(label = "PROPORCIÓN DE PACIENTES QUE RECIBEN MEDICAMENTOS PARA LA DIABETES",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “change” indica si hubo modificaciones en la medicación de los pacientes durante su atención.
| Variable | Proporción |
|---|---|
| change | 0.4619459 |
Una proporción considerable (46.19%) de los pacientes experimentó cambios en su tratamiento, lo que sugiere ajustes frecuentes en el manejo médico para optimizar el control de la diabetes u otras condiciones relacionadas.
T_Prop_change %>%
mutate(Sobrante = 1 - Proporcion) %>%
ggplot(aes(x = reorder(Variable, Proporcion))) +
geom_bar(aes(y = 1), stat = "identity", fill = "grey90") + # Barra gris del 100%
geom_bar(aes(y = Proporcion), stat = "identity", fill = "steelblue") + # Barra azul de la proporción
coord_flip() +
ggtitle(label = "PROPORCIÓN DE LAS VARIABLES EN CHANGE",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “raza” muestra la distribución racial de los individuos en el conjunto de datos, lo cual es relevante para entender la diversidad y las posibles disparidades en ciertos contextos, como la salud o la educación.
| Variable | Proporción | |
|---|---|---|
| 3 | race:Caucasian | 0.7478062 |
| 1 | race:AfricanAmerican | 0.1887720 |
| 5 | race:Other | 0.0371058 |
| 4 | race:Hispanic | 0.0200171 |
| 2 | race:Asian | 0.0062989 |
La categoría caucásica representa la mayoría (74.78%), seguida por la afroamericana (18.88%), mientras que las razas “otros”, hispano y asiático tienen una proporción mucho menor, lo que sugiere una posible falta de representación o sesgo en la muestra hacia estos grupos, todo esto se puede ver en la siguiente grafica
T_Prop_Raza %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN RAZA",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “género” refleja la distribución entre hombres y mujeres en el conjunto de datos, lo cual es importante para identificar posibles diferencias de género en análisis relacionados con salud, oportunidades o comportamientos.
| Variable | Proporción |
|---|---|
| gender:Female | 0.5376021 |
| gender:Male | 0.4623979 |
La categoría femenina representa el 53.76%, mientras que los hombres constituyen el 46.24%, lo que sugiere una distribución casi equitativa entre ambos géneros en la muestra.
T_Prop_Genero %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = c("steelblue", "red")) +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN GENERO",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “edad” muestra la distribución de las personas en diferentes rangos de edad, lo cual es crucial para analizar cómo varían ciertos factores según la edad.
| Variable | Proporción | |
|---|---|---|
| 5 | age:70+ | 0.4525810 |
| 4 | age:[50-70) | 0.3904956 |
| 3 | age:[20-50) | 0.1485510 |
| 2 | age:[10-20) | 0.0067903 |
| 1 | age:[0-10) | 0.0015821 |
La mayoría de los individuos se encuentran en el grupo de 70+ años (45.26%) y en el grupo de 50-70 años (39.05%). Los grupos más jóvenes, como el de 20-50 años, representan una proporción más pequeña (14.85%), mientras que los rangos de 10-20 años y 0-10 años tienen representaciones mínimas, lo que podría indicar que los datos están más enfocados en adultos mayores.
T_Prop_Edad %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN EDAD",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “tipo de admisión” indica las razones por las cuales los pacientes ingresan al sistema de salud, lo que es importante para entender la urgencia y la naturaleza de los casos.
| Variable | Proporción | |
|---|---|---|
| 2 | admission_type_id:Emergency | 0.7121252 |
| 1 | admission_type_id:Elective | 0.1854112 |
| 4 | admission_type_id:Trauma Center | 0.0002064 |
| 3 | admission_type_id:New Born | 0.0000983 |
La mayoría de las admisiones son por emergencia, representando el 71.21%, seguido por las admisiones electivas (18.54%). Las admisiones por trauma y por recién nacidos son mínimas, con proporciones de 0.02% y 0.01% respectivamente, lo que sugiere que los casos más urgentes son los más comunes en esta muestra.
T_Prop_Admision %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN TIPO DE ADMISION",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))T_Prop_Admision_Trans %>%
ggplot(aes(x = reorder(Admision, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCIÓN DE LAS VARIABLES EN TIPO DE ADMISIÓN",
subtitle = "PERFILES DE PACIENTES CON DIABETES (TRANSFORMADO)") +
labs(x = "Tipo de Admisión", y = "Proporción") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “disposición de alta” refleja el destino de los pacientes al ser dados de alta, lo cual es relevante para entender el seguimiento y los cuidados posteriores.
| Variable | Proporción |
|---|---|
| discharge_disposition_id:Discharged to Home | 0.7237306 |
| discharge_disposition_id:Other | 0.2302802 |
La mayoría de los pacientes (72.37%) son dados de alta para regresar a casa, mientras que una proporción significativa (23.03%) es clasificada bajo “otros”, lo que podría indicar una variedad de destinos, como instituciones de cuidado o traslados a otros centros médicos.
T_Prop_Discharge %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN DISCHARGE",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “especialidad médica” describe las áreas de atención médica más frecuentes entre los pacientes, lo que ayuda a comprender la distribución de las consultas y tratamientos.
| Variable | Proporción | |
|---|---|---|
| 6 | medical_specialty:InternalMedicine | 0.1438145 |
| 2 | medical_specialty:Emergency/Trauma | 0.0743394 |
| 3 | medical_specialty:Family/GeneralPractice | 0.0731111 |
| 1 | medical_specialty:Cardiology | 0.0525830 |
| 15 | medical_specialty:Surgery-General | 0.0308953 |
| 10 | medical_specialty:Other | 0.0297161 |
| 9 | medical_specialty:Orthopedics | 0.0258738 |
| 7 | medical_specialty:Nephrology | 0.0158506 |
| 13 | medical_specialty:Radiology | 0.0117233 |
| 12 | medical_specialty:Pulmonology | 0.0085591 |
| 14 | medical_specialty:Surgery-Cardiovascular/Thoracic | 0.0084412 |
| 11 | medical_specialty:Psychiatry | 0.0083920 |
| 8 | medical_specialty:ObstetricsandGynecology | 0.0073504 |
| 16 | medical_specialty:Urology | 0.0067313 |
| 5 | medical_specialty:Hematology/Oncology | 0.0062596 |
| 4 | medical_specialty:Gastroenterology | 0.0055423 |
La mayor proporción corresponde a Medicina Interna (14.38%), seguida por otras especialidades como Emergencias/Trauma (7.43%) y Medicina Familiar/General (7.31%). Especialidades como Cardiología (5.26%) y Cirugía General (3.09%) tienen una representación menor, mientras que un conjunto diverso de especialidades menores (Radiología, Psiquiatría, Obstetricia, entre otras) representan fracciones aún más pequeñas, lo que refleja una muestra con predominancia de algunas áreas médicas y una distribución más dispersa entre las demás.
T_Prop_Especialidad %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
geom_hline(yintercept = 0.05, linetype = "dashed", color = "red", size = 0.7) + # Línea horizontal
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN ESPECIALIDAD",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))T_Prop_Especialidad_Trans %>%
ggplot(aes(x = reorder(Especialidad, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
geom_hline(yintercept = 0.05, linetype = "dashed", color = "red", size = 0.7) + # Línea horizontal
coord_flip() +
ggtitle(label = "PROPORCIÓN DE LAS VARIABLES EN ESPECIALIDAD",
subtitle = "PERFILES DE PACIENTES CON DIABETES (TRANSFORMADO)") +
labs(x = "Especialidad", y = "Proporción") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “diag_1” representa los diagnósticos principales de los pacientes, lo cual es importante para entender la prevalencia de ciertas condiciones en la muestra.
| Variable | Proporción | |
|---|---|---|
| 1 | diag_1:Circulatory | 0.2990871 |
| 12 | diag_1:Respiratory | 0.1417313 |
| 3 | diag_1:Digestive | 0.0931085 |
| 2 | diag_1:Diabetes | 0.0860529 |
| 11 | diag_1:Other | 0.0772579 |
| 6 | diag_1:Injury | 0.0685121 |
| 4 | diag_1:Genitourinary | 0.0502835 |
| 8 | diag_1:Musculoskeletal | 0.0487112 |
| 9 | diag_1:Neoplasms | 0.0337352 |
| 5 | diag_1:Infectious | 0.0272005 |
| 10 | diag_1:Non-diabetes endocrine/metabolic | 0.0264045 |
| 13 | diag_1:Skin | 0.0256871 |
| 7 | diag_1:Mental | 0.0222281 |
La mayoría de los casos están relacionados con trastornos circulatorios (29.91%), seguidos de enfermedades respiratorias (14.17%) y digestivas (9.31%). Otras condiciones como diabetes (8.61%), lesiones (6.85%) y trastornos genitourinarios (5.03%) también tienen una representación significativa. Las condiciones más raras incluyen trastornos musculoesqueléticos, neoplasias, infecciones, y trastornos metabólicos, con proporciones menores, lo que sugiere una mayor prevalencia de enfermedades crónicas y comunes en la población.
T_Prop_diag1 %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
geom_hline(yintercept = 0.1, linetype = "dashed", color = "red", size = 0.7) + # Línea horizontal
coord_flip() +
ggtitle(label = "PROPORCION DELAS VARIABLES EN DIAG_1",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))T_Prop_diag %>%
ggplot(aes(x = reorder(Diagnostico1, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
geom_hline(yintercept = 0.1, linetype = "dashed", color = "red", size = 0.7) + # Línea horizontal
coord_flip() +
ggtitle(label = "PROPORCIÓN DE LAS VARIABLES EN DIAG_1",
subtitle = "PERFILES DE PACIENTES CON DIABETES (TRANSFORMADO)") +
labs(x = "Diagnóstico 1", y = "Proporción") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “diag_2” refleja el segundo diagnóstico más común entre los pacientes, lo cual proporciona una visión adicional sobre las comorbilidades.
| Variable | Proporción | |
|---|---|---|
| 1 | diag_2:Circulatory | 0.3132769 |
| 2 | diag_2:Diabetes | 0.1257235 |
| 12 | diag_2:Respiratory | 0.1070625 |
| 11 | diag_2:Other | 0.1025913 |
| 4 | diag_2:Genitourinary | 0.0823089 |
| 10 | diag_2:Non-diabetes endocrine/metabolic | 0.0807071 |
| 3 | diag_2:Digestive | 0.0409776 |
| 13 | diag_2:Skin | 0.0360642 |
| 7 | diag_2:Mental | 0.0261097 |
| 9 | diag_2:Neoplasms | 0.0250287 |
| 6 | diag_2:Injury | 0.0238397 |
| 5 | diag_2:Infectious | 0.0189755 |
| 8 | diag_2:Musculoskeletal | 0.0173344 |
Al igual que en “diag_1”, los trastornos circulatorios son predominantes (31.33%), seguidos por diabetes (12.57%) y problemas respiratorios (10.71%). Otras condiciones, como enfermedades genitourinarias (8.23%), endocrinas/metabólicas no relacionadas con la diabetes (8.07%), y trastornos digestivos (4.10%), también tienen representaciones importantes. Las condiciones como enfermedades de la piel, trastornos mentales y lesiones son menos comunes, pero siguen siendo relevantes dentro de la población estudiada.
T_Prop_diag2 %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
geom_hline(yintercept = 0.1, linetype = "dashed", color = "red", size = 0.7) + # Línea horizontal
coord_flip() +
ggtitle(label = "PROPORCION DELAS VARIABLES EN DIAG_2",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))T_Prop_diag %>%
ggplot(aes(x = reorder(Diagnostico2, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
geom_hline(yintercept = 0.1, linetype = "dashed", color = "red", size = 0.7) + # Línea horizontal
coord_flip() +
ggtitle(label = "PROPORCIÓN DE LAS VARIABLES EN DIAG_2",
subtitle = "PERFILES DE PACIENTES CON DIABETES (TRANSFORMADO)") +
labs(x = "Diagnóstico 2", y = "Proporción") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “diag_3” representa el tercer diagnóstico más frecuente en los pacientes, brindando más contexto sobre las comorbilidades.
| Variable | Proporción | |
|---|---|---|
| 1 | diag_3:Circulatory | 0.2977998 |
| 2 | diag_3:Diabetes | 0.1685976 |
| 11 | diag_3:Other | 0.1362873 |
| 10 | diag_3:Non-diabetes endocrine/metabolic | 0.0898558 |
| 12 | diag_3:Respiratory | 0.0723053 |
| 4 | diag_3:Genitourinary | 0.0656427 |
| 3 | diag_3:Digestive | 0.0386191 |
| 7 | diag_3:Mental | 0.0308167 |
| 13 | diag_3:Skin | 0.0256183 |
| 6 | diag_3:Injury | 0.0191130 |
| 8 | diag_3:Musculoskeletal | 0.0188182 |
| 5 | diag_3:Infectious | 0.0182876 |
| 9 | diag_3:Neoplasms | 0.0182385 |
Al igual que en los diagnósticos anteriores, los trastornos circulatorios son predominantes (29.78%), seguidos por diabetes (16.86%) y diagnósticos “otros” (13.63%). Condiciones como enfermedades endocrinas/metabólicas no relacionadas con la diabetes (8.99%) y respiratorias (7.23%) también son comunes. Otros diagnósticos incluyen problemas genitourinarios (6.56%), digestivos (3.86%), y mentales (3.08%), mientras que trastornos como enfermedades de la piel, lesiones y neoplasias tienen una menor representación.
T_Prop_diag3 %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
geom_hline(yintercept = 0.1, linetype = "dashed", color = "red", size = 0.7) + # Línea horizontal
coord_flip() +
ggtitle(label = "PROPORCION DELAS VARIABLES EN DIAG_3",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))T_Prop_diag %>%
ggplot(aes(x = reorder(Diagnostico3, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
geom_hline(yintercept = 0.1, linetype = "dashed", color = "red", size = 0.7) + # Línea horizontal
coord_flip() +
ggtitle(label = "PROPORCIÓN DE LAS VARIABLES EN DIAG_3",
subtitle = "PERFILES DE PACIENTES CON DIABETES (TRANSFORMADO)") +
labs(x = "Diagnóstico 3", y = "Proporción") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “metformin” indica el cambio en el tratamiento con metformina, un medicamento comúnmente usado para la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | metformin:No | 0.8035927 |
| 3 | metformin:Steady | 0.1802718 |
| 4 | metformin:Up | 0.0104851 |
| 1 | metformin:Down | 0.0056504 |
La mayoría de los pacientes no reciben metformina (80.36%), mientras que una proporción considerable tiene un tratamiento constante con metformina (18.03%). Solo un pequeño porcentaje de los pacientes están en un régimen de aumento (1.05%) o disminución (0.57%) de la dosis de metformina, lo que sugiere que la mayoría de los casos son controlados con una dosis estable o no requieren este tratamiento.
T_Prop_metmorfin %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN METFORMIN",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “repaglinide” indica el ajuste en el tratamiento con repaglinida, un medicamento utilizado para controlar la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | repaglinide:No | 0.9848766 |
| 3 | repaglinide:Steady | 0.0136002 |
| 4 | repaglinide:Up | 0.0010809 |
| 1 | repaglinide:Down | 0.0004422 |
La gran mayoría de los pacientes no reciben repaglinida (98.49%), mientras que una pequeña proporción mantiene una dosis estable (1.36%). Los ajustes en el tratamiento, como el aumento (0.11%) o la disminución (0.04%) de la dosis, son mínimos, lo que sugiere que repaglinida es utilizado de manera muy limitada en la muestra, con la mayoría de los pacientes sin necesidad de este medicamento.
T_Prop_repaglinide %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN REPAGLINIDE",
subtitle= "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “nateglinide” refleja el uso y ajuste en el tratamiento con nateglinida, otro medicamento utilizado para la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | nateglinide:No | 0.9930918 |
| 3 | nateglinide:Steady | 0.0065643 |
| 4 | nateglinide:Up | 0.0002358 |
| 1 | nateglinide:Down | 0.0001081 |
La gran mayoría de los pacientes no reciben nateglinida (99.31%), con una pequeña proporción manteniendo una dosis estable (0.66%). Los ajustes en la dosis, como el aumento (0.02%) o la disminución (0.01%), son mínimos, lo que indica que este medicamento tiene una utilización muy baja en la muestra, con la mayoría de los pacientes sin necesidad de tratamiento con nateglinida.
T_Prop_nateglinide %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN NATEGLINIDE",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “chlorpropamide” muestra el uso y ajuste en el tratamiento con clorpropamida, un medicamento para la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | chlorpropamide:No | 0.9991549 |
| 3 | chlorpropamide:Steady | 0.0007763 |
| 4 | chlorpropamide:Up | 0.0000590 |
| 1 | chlorpropamide:Down | 0.0000098 |
La mayoría de los pacientes no reciben clorpropamida (99.92%), mientras que una pequeña fracción mantiene una dosis estable (0.08%). Los ajustes en la dosis, como el aumento (0.01%) o la disminución (menos del 0.01%), son prácticamente inexistentes, lo que indica que este medicamento es utilizado en una proporción extremadamente baja dentro de la muestra, con la mayoría de los pacientes no requiriendo tratamiento con clorpropamida.
T_Prop_chlorpropamide %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN CHLORPROPAMIDE",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “glimepiride” refleja el uso y ajuste en el tratamiento con glimepirida, un medicamento utilizado para controlar la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | glipizide:No | 0.8753476 |
| 3 | glipizide:Steady | 0.1115828 |
| 4 | glipizide:Up | 0.0075666 |
| 1 | glipizide:Down | 0.0055030 |
La mayoría de los pacientes no reciben glimepirida (87.53%), mientras que una proporción significativa mantiene una dosis constante (11.16%). Solo una pequeña fracción de pacientes aumenta (0.76%) o disminuye (0.55%) la dosis de glimepirida, lo que sugiere que la mayoría de los casos son controlados con una dosis estable de este medicamento o no requieren su uso.
T_Prop_glipizide %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN GLIPIZIDE",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “glyburide” indica el uso y ajuste en el tratamiento con gliburida, un medicamento utilizado para la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | glyburide:No | 0.8953451 |
| 3 | glyburide:Steady | 0.0911333 |
| 4 | glyburide:Up | 0.0079793 |
| 1 | glyburide:Down | 0.0055423 |
La mayoría de los pacientes no reciben glyburide (89.53%), mientras que una proporción menor mantiene una dosis constante (9.11%). Los ajustes en la dosis, como el aumento (0.80%) o la disminución (0.55%), son mínimos, lo que sugiere que la mayoría de los pacientes no requieren este medicamento o lo mantienen a una dosis estable.
T_Prop_glyburide %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN GLYBURIDE",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “glimepiride” refleja el uso y ajuste en el tratamiento con glimepirida, un medicamento para la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | glimepiride:No | 0.9489893 |
| 3 | glimepiride:Steady | 0.0458909 |
| 4 | glimepiride:Up | 0.0032133 |
| 1 | glimepiride:Down | 0.0019064 |
La gran mayoría de los pacientes no reciben glimepirida (94.90%), mientras que una pequeña proporción mantiene una dosis estable (4.59%). Los ajustes en la dosis, como el aumento (0.32%) o la disminución (0.19%), son mínimos, lo que sugiere que este medicamento se utiliza en una proporción reducida de pacientes y, en su mayoría, con una dosis constante.
T_Prop_glimepiride %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN GLIMEPIRIDE",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “pioglitazone” muestra el uso y ajuste en el tratamiento con pioglitazona, un medicamento utilizado para la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | pioglitazone:No | 0.9279994 |
| 3 | pioglitazone:Steady | 0.0685416 |
| 4 | pioglitazone:Up | 0.0022995 |
| 1 | pioglitazone:Down | 0.0011596 |
La mayoría de los pacientes no reciben pioglitazona (92.80%), mientras que una pequeña proporción mantiene una dosis constante (6.85%). Los ajustes en la dosis, como el aumento (0.23%) o la disminución (0.12%), son mínimos, lo que indica que este medicamento es utilizado por una minoría de pacientes y principalmente a dosis estables.
T_Prop_pioglitazone %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN PIOGLITAZONE",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “rosiglitazone” refleja el uso y ajuste en el tratamiento con rosiglitazona, un medicamento utilizado para tratar la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | rosiglitazone:No | 0.9374625 |
| 3 | rosiglitazone:Steady | 0.0599334 |
| 4 | rosiglitazone:Up | 0.0017492 |
| 1 | rosiglitazone:Down | 0.0008549 |
La mayoría de los pacientes no reciben rosiglitazona (93.75%), mientras que una pequeña fracción mantiene una dosis constante (5.99%). Los ajustes en la dosis, como el aumento (0.17%) o la disminución (0.09%), son mínimos, lo que sugiere que rosiglitazona es utilizado en una pequeña proporción de pacientes, y en su mayoría, el tratamiento se mantiene estable.
T_Prop_rosiglitazone %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN ROSIGLITAZONE",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “acarbose” refleja el uso y ajuste en el tratamiento con acarbosa, un medicamento utilizado para controlar la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | acarbose:No | 0.9969734 |
| 3 | acarbose:Steady | 0.0028989 |
| 4 | acarbose:Up | 0.0000983 |
| 1 | acarbose:Down | 0.0000295 |
La gran mayoría de los pacientes no reciben acarbosa (99.70%), mientras que una pequeña fracción mantiene una dosis constante (0.29%). Los ajustes en la dosis, como el aumento (0.01%) o la disminución (menos del 0.01%), son prácticamente inexistentes, lo que indica que acarbosa es utilizado en una proporción extremadamente baja de pacientes y, cuando se usa, generalmente a dosis estables.
T_Prop_acarbose %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN ACARBOSE",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “miglitol” refleja el uso y ajuste en el tratamiento con miglitol, un medicamento utilizado para controlar la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | miglitol:No | 0.9996266 |
| 3 | miglitol:Steady | 0.0003046 |
| 1 | miglitol:Down | 0.0000491 |
| 4 | miglitol:Up | 0.0000197 |
La gran mayoría de los pacientes no reciben miglitol (99.96%), con una pequeña proporción manteniendo una dosis constante (0.03%). Los ajustes en la dosis, como el aumento (0.002%) o la disminución (menos del 0.01%), son prácticamente inexistentes, lo que indica que miglitol es utilizado en una proporción extremadamente baja de pacientes y, cuando se utiliza, generalmente a dosis estables.
T_Prop_miglitol %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN MIGLITOL",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “tolazamide” muestra el uso y ajuste en el tratamiento con tolazamida, un medicamento utilizado para tratar la diabetes.
| Variable | Proporción |
|---|---|
| tolazamide:No | 0.9996168 |
| tolazamide:Steady | 0.0003734 |
| tolazamide:Up | 0.0000098 |
La gran mayoría de los pacientes no reciben tolazamida (99.96%), mientras que una pequeña fracción mantiene una dosis constante (0.04%). No se observan aumentos en la dosis, lo que sugiere que este medicamento se utiliza en una proporción mínima de pacientes y generalmente a dosis estables.
T_Prop_tolazamide %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN TOLAZAMIDE",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “insulin” indica el uso y ajuste en el tratamiento con insulina.
| Variable | Proporción | |
|---|---|---|
| 2 | insulin:No | 0.4655916 |
| 3 | insulin:Steady | 0.3031455 |
| 1 | insulin:Down | 0.1200633 |
| 4 | insulin:Up | 0.1111996 |
La distribución muestra que una proporción considerable de pacientes no recibe insulina (46.56%), mientras que una parte significativa tiene una dosis estable (30.31%). Además, un 12.01% de los pacientes experimenta una disminución en la dosis, y un 11.12% tiene un aumento en la dosis de insulina. Esto sugiere que, aunque una proporción significativa no utiliza insulina, aquellos que la usan tienen ajustes en sus dosis, lo que refleja variabilidad en el tratamiento.
T_Prop_insulin %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN INSULIN",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “glyburide-metformin” refleja el uso y ajuste en el tratamiento con una combinación de glyburide y metformina, medicamentos utilizados para controlar la diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | glyburide-metformin:No | 0.9930623 |
| 3 | glyburide-metformin:Steady | 0.0068001 |
| 4 | glyburide-metformin:Up | 0.0000786 |
| 1 | glyburide-metformin:Down | 0.0000590 |
La gran mayoría de los pacientes no reciben este tratamiento combinado (99.31%), mientras que una pequeña fracción mantiene una dosis constante (0.68%). Los ajustes en la dosis, como el aumento (0.01%) o la disminución (menos del 0.01%), son prácticamente inexistentes, lo que indica que este tratamiento combinado es utilizado en una proporción mínima de pacientes y generalmente a dosis estables.
T_Prop_glyburide_metformin %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN GLYBURIDE-METFORMIN",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “A1Cresult” refleja los resultados de las pruebas de hemoglobina A1c, que indican el control a largo plazo de la glucosa en sangre en pacientes con diabetes.
| Variable | Proporción | |
|---|---|---|
| 2 | A1Cresult:None | 0.8327683 |
| 4 | A1Cresult:>8 | 0.0807366 |
| 1 | A1Cresult:Norm | 0.0490355 |
| 3 | A1Cresult:>7 | 0.0374596 |
La mayoría de los pacientes no tienen un resultado A1c registrado (83.28%), lo que podría indicar que los datos no fueron obtenidos o no se realizaron pruebas. De los pacientes con resultados, una proporción significativa tiene un A1c mayor a 8 (>8) (8.07%), lo que indica un mal control de la glucosa. Un porcentaje menor muestra un resultado dentro del rango normal (4.90%) o con A1c entre 7 y 8 (>7) (3.75%). Esto sugiere que una proporción significativa de pacientes no tiene resultados de A1c registrados, y aquellos que lo tienen, en su mayoría, presentan un mal control de la glucosa.
T_Prop_A1Cresult %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN A1CRESULT",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “max_glu_serum” refleja los resultados del nivel máximo de glucosa en suero de los pacientes.
| Variable | Proporción | |
|---|---|---|
| 2 | max_glu_serum:None | 0.9474662 |
| 1 | max_glu_serum:Norm | 0.0255201 |
| 3 | max_glu_serum:>200 | 0.0145927 |
| 4 | max_glu_serum:>300 | 0.0124210 |
La mayoría de los pacientes no tienen un resultado registrado para este análisis (94.75%), lo que podría indicar que no se realizaron pruebas o no se disponen de los datos. De los pacientes con resultados, una pequeña proporción tiene niveles normales de glucosa en suero (2.55%), mientras que un porcentaje menor presenta niveles superiores a 200 mg/dL (>200) (1.46%) o superiores a 300 mg/dL (>300) (1.24%), lo que sugiere un control insuficiente de la glucosa en sangre en estos casos.
T_Prop_max_glu_serum %>%
ggplot(aes(x = reorder(Variable, Proporcion), y = Proporcion)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
ggtitle(label = "PROPORCION DE LAS VARIABLES EN MAX GLU SERUM",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
coord_flip() +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))La variable “readmitted” indica si los pacientes fueron readmitidos tras su alta.
| Variable | Proporción |
|---|---|
| readmitted | 0.4608944 |
Una proporción del 46.09% de los pacientes regresó al hospital, lo que sugiere que casi la mitad de los casos podrían necesitar una evaluación adicional para identificar factores que influyen en las readmisiones, como la efectividad del tratamiento o el manejo post-alta.
T_Prop_readmitted %>%
mutate(Sobrante = 1 - Proporcion) %>%
ggplot(aes(x = reorder(Variable, Proporcion))) +
geom_bar(aes(y = 1), stat = "identity", fill = "grey90") + # Barra gris del 100%
geom_bar(aes(y = Proporcion), stat = "identity", fill = "steelblue") + # Barra azul de la proporción
coord_flip() +
ggtitle(label = "PROPORCIÓN DE LAS VARIABLES EN READMITTED",
subtitle = "PERFILES DE PACIENTES CON DIABETES") +
labs(x = "Variable", y = "Proporción") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
legend.position = "none", text = element_text(size = 10),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"))En general, las variables analizadas revelan un panorama de tratamiento y control de la diabetes en una población de pacientes. La mayoría de los tratamientos y medicaciones (como metformina, repaglinida, acarbosa, entre otros) no son utilizados por la mayoría de los pacientes, con una proporción significativa recibiendo tratamientos estables o constantes. Los ajustes en las dosis de estos medicamentos son mínimos, lo que sugiere que muchos pacientes tienen un tratamiento controlado y sin cambios frecuentes en su dosificación.
Sin embargo, en lo que respecta a los resultados de los análisis relacionados con el control de la glucosa, como los niveles de A1c y la glucosa en suero, se observa que una proporción importante de pacientes tiene niveles fuera del rango ideal, con un porcentaje notablemente bajo con A1c superior a 8, lo que indica un mal control de la glucosa. De manera similar, aunque pocos pacientes presentan niveles de glucosa en suero superiores a 200 mg/dL o 300 mg/dL, esto señala que existen casos de control deficiente de la diabetes.
En resumen, aunque muchos pacientes tienen un tratamiento estable y bien administrado, el control de la glucosa en sangre en algunos casos no es óptimo, lo que podría implicar la necesidad de intervenciones adicionales para mejorar el manejo de la diabetes y sus complicaciones asociadas.
La variable “Time in Hospital” representa la duración de las estancias hospitalarias en días. Los valores van desde un mínimo de 1 día hasta un máximo de 14 días.
| Variable | Valor |
|---|---|
| Min. | 1.000000 |
| 1st Qu. | 2.000000 |
| Median | 4.000000 |
| Mean | 4.396018 |
| 3rd Qu. | 6.000000 |
| Max. | 14.000000 |
La mediana es de 4 días, lo que indica que la mitad de las estancias son de 4 días o menos. El promedio es ligeramente mayor (4.40 días), lo que sugiere la presencia de algunas estancias más largas que elevan este valor. La mayoría de las estancias se concentran entre 2 días (primer cuartil) y 6 días (tercer cuartil).
data %>%
ggplot(aes(x = time_in_hospital)) +
geom_histogram(binwidth = 1, fill = "steelblue", color = "white") +
ggtitle(label = "DISTRIBUCIÓN DEL TIEMPO EN EL HOSPITAL",
subtitle = "PACIENTES CON DIABETES") +
labs(x = "Días en el hospital", y = "Frecuencia") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"),
axis.text = element_text(size = 10),
axis.title = element_text(size = 10))La variable “Num Lab Procedures” representa el número de procedimientos de laboratorio realizados durante la estancia hospitalaria.
| Variable | Valor |
|---|---|
| Min. | 1.00000 |
| 1st Qu. | 31.00000 |
| Median | 44.00000 |
| Mean | 43.09591 |
| 3rd Qu. | 57.00000 |
| Max. | 132.00000 |
Los valores oscilan entre un mínimo de 1 y un máximo de 132 procedimientos. La mediana es de 44, lo que indica que la mitad de los pacientes tiene 44 o menos procedimientos. El promedio es de 43.10, cercano a la mediana, lo que sugiere una distribución relativamente equilibrada. La mayoría de los valores se encuentran entre 31 (primer cuartil) y 57 (tercer cuartil), reflejando que estos son los rangos típicos de procedimientos realizados.
# Grafica
data %>%
ggplot(aes(x = num_lab_procedures)) +
geom_histogram(binwidth = 5, fill = "steelblue", color = "white") +
ggtitle(label = "DISTRIBUCIÓN DE PROCEDIMIENTOS DE LABORATORIO",
subtitle = "PACIENTES CON DIABETES") +
labs(x = "Número de procedimientos", y = "Frecuencia") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"),
axis.text = element_text(size = 10),
axis.title = element_text(size = 10))La variable “Num Procedures” representa el número de procedimientos realizados durante la estancia hospitalaria.
| Variable | Valor |
|---|---|
| Min. | 0.000000 |
| 1st Qu. | 0.000000 |
| Median | 1.000000 |
| Mean | 1.339691 |
| 3rd Qu. | 2.000000 |
| Max. | 6.000000 |
El valor mínimo es 0, lo que indica que algunos pacientes no recibieron procedimientos. La mediana es 1, lo que significa que la mitad de los pacientes tuvieron 1 o menos procedimientos. El promedio es de 1.34, lo que sugiere que, en general, los pacientes se someten a pocos procedimientos. La mayoría de los pacientes tuvieron entre 0 y 2 procedimientos, con un valor máximo de 6 procedimientos. Esto refleja que la mayoría de los casos fueron relativamente simples en términos de intervenciones.
data %>%
ggplot(aes(x = num_procedures)) +
geom_histogram(binwidth = 1, fill = "steelblue", color = "white") +
ggtitle(label = "DISTRIBUCIÓN DE PROCEDIMIENTOS",
subtitle = "PACIENTES CON DIABETES") +
labs(x = "Número de procedimientos", y = "Frecuencia") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"),
axis.text = element_text(size = 10),
axis.title = element_text(size = 10))La variable “Num Medications” refleja el número de medicamentos administrados durante la estancia hospitalaria.
| Variable | Valor |
|---|---|
| Min. | 1.00000 |
| 1st Qu. | 10.00000 |
| Median | 15.00000 |
| Mean | 16.02183 |
| 3rd Qu. | 20.00000 |
| Max. | 81.00000 |
Los valores varían entre un mínimo de 1 medicamento y un máximo de 81. La mediana es 15, lo que indica que la mitad de los pacientes recibió 15 o menos medicamentos. El promedio es de 16.02, lo que sugiere que, en general, los pacientes reciben un número relativamente alto de medicamentos durante su atención. La mayoría de los pacientes se encuentra entre 10 y 20 medicamentos (primer y tercer cuartil), lo que refleja un rango común de tratamiento en la muestra.
data %>%
ggplot(aes(x = num_medications)) +
geom_histogram(binwidth = 5, fill = "steelblue", color = "white") +
ggtitle(label = "DISTRIBUCIÓN DE MEDICAMENTOS",
subtitle = "PACIENTES CON DIABETES") +
labs(x = "Número de medicamentos", y = "Frecuencia") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"),
axis.text = element_text(size = 10),
axis.title = element_text(size = 10))La variable “Number Outpatient” refleja el número de visitas ambulatorias previas al ingreso hospitalario.
| Variable | Valor |
|---|---|
| Min. | 0.000000 |
| 1st Qu. | 0.000000 |
| Median | 0.000000 |
| Mean | 0.369368 |
| 3rd Qu. | 0.000000 |
| Max. | 42.000000 |
La mayoría de los pacientes no tiene visitas ambulatorias registradas (mínimo, primer cuartil y mediana son 0). Sin embargo, el valor promedio es de 0.37 visitas, lo que indica que, en promedio, algunos pacientes tienen una o más visitas ambulatorias antes de su hospitalización, aunque la mayoría no tiene ninguna. El valor máximo es 42 visitas, lo que sugiere que existen algunos pacientes con un historial ambulatorio más extenso antes de ser ingresados.
# Grafica
data %>%
ggplot(aes(x = number_outpatient)) +
geom_histogram(binwidth = 1, fill = "steelblue", color = "white") +
ggtitle(label = "DISTRIBUCIÓN DE VISITAS AMBULATORIAS",
subtitle = "PACIENTES CON DIABETES") +
labs(x = "Número de visitas", y = "Frecuencia") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"),
axis.text = element_text(size = 10),
axis.title = element_text(size = 10))La variable “Number Emergency” refleja el número de visitas de emergencia previas al ingreso hospitalario.
| Variable | Valor |
|---|---|
| Min. | 0.000000 |
| 1st Qu. | 0.000000 |
| Median | 0.000000 |
| Mean | 0.197842 |
| 3rd Qu. | 0.000000 |
| Max. | 76.000000 |
La mayoría de los pacientes no tiene visitas de emergencia registradas (mínimo, primer cuartil y mediana son 0). El promedio es de 0.20 visitas, lo que indica que, en general, los pacientes tienen pocas visitas a emergencias antes de su hospitalización. Sin embargo, el valor máximo es 76, lo que sugiere que algunos pacientes pueden haber tenido un número considerable de visitas a emergencias antes de ser admitidos en el hospital.
# Grafica
data %>%
ggplot(aes(x = number_emergency)) +
geom_histogram(binwidth = 1, fill = "steelblue", color = "white") +
ggtitle(label = "DISTRIBUCIÓN DE VISITAS DE EMERGENCIA",
subtitle = "PACIENTES CON DIABETES") +
labs(x = "Número de visitas", y = "Frecuencia") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"),
axis.text = element_text(size = 10),
axis.title = element_text(size = 10))La variable “Number Inpatient” refleja el número de ingresos hospitalarios previos al ingreso actual.
| Variable | Valor |
|---|---|
| Min. | 0.0000000 |
| 1st Qu. | 0.0000000 |
| Median | 0.0000000 |
| Mean | 0.6355846 |
| 3rd Qu. | 1.0000000 |
| Max. | 21.0000000 |
La mayoría de los pacientes no tiene ingresos previos registrados (mínimo, primer cuartil y mediana son 0). El promedio es de 0.64 ingresos, lo que indica que, en general, los pacientes tienen pocos ingresos previos. El tercer cuartil es 1, lo que significa que la mayoría de los pacientes ha tenido 0 o 1 ingreso anterior. El valor máximo es 21, lo que sugiere que algunos pacientes tienen un historial significativo de hospitalizaciones previas.
# Grafica
data %>%
ggplot(aes(x = number_inpatient)) +
geom_histogram(binwidth = 1, fill = "steelblue", color = "white") +
ggtitle(label = "DISTRIBUCIÓN DE VISITAS HOSPITALARIAS",
subtitle = "PACIENTES CON DIABETES") +
labs(x = "Número de visitas", y = "Frecuencia") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"),
axis.text = element_text(size = 10),
axis.title = element_text(size = 10))La variable “Number Diagnoses” representa el número de diagnósticos registrados durante la estancia hospitalaria.
| Variable | Valor |
|---|---|
| Min. | 1.000000 |
| 1st Qu. | 6.000000 |
| Median | 8.000000 |
| Mean | 7.422649 |
| 3rd Qu. | 9.000000 |
| Max. | 16.000000 |
El valor mínimo es 1, lo que indica que todos los pacientes tienen al menos un diagnóstico. La mediana es 8, lo que sugiere que la mitad de los pacientes tiene 8 o menos diagnósticos. El promedio es de 7.42, lo que refleja que en general los pacientes tienen múltiples diagnósticos, pero no de manera excesiva. La mayoría de los pacientes tiene entre 6 y 9 diagnósticos (primer y tercer cuartil), y el valor máximo es 16, lo que indica que algunos pacientes pueden ser diagnosticados con múltiples condiciones complejas.
# Grafica
data %>%
ggplot(aes(x = number_diagnoses)) +
geom_histogram(binwidth = 1, fill = "steelblue", color = "white") +
ggtitle(label = "DISTRIBUCIÓN DE DIAGNÓSTICOS",
subtitle = "PACIENTES CON DIABETES") +
labs(x = "Número de diagnósticos", y = "Frecuencia") +
theme_minimal() +
theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 10, face = "bold", hjust = 0.5, color = "grey50"),
axis.text = element_text(size = 10),
axis.title = element_text(size = 10))A continuacion se presenta la matriz de correlación de las variables numéricas.
| time_in_hospital | num_lab_procedures | num_procedures | num_medications | number_outpatient | number_emergency | number_inpatient | number_diagnoses | |
|---|---|---|---|---|---|---|---|---|
| time_in_hospital | 1.0000000 | 0.3184294 | 0.1914972 | 0.4661374 | -0.0089192 | -0.0096834 | 0.0736190 | 0.2201530 |
| num_lab_procedures | 0.3184294 | 1.0000000 | 0.0581055 | 0.2681757 | -0.0076064 | -0.0022824 | 0.0392252 | 0.1527374 |
| num_procedures | 0.1914972 | 0.0581055 | 1.0000000 | 0.3857607 | -0.0248127 | -0.0381753 | -0.0662263 | 0.0737692 |
| num_medications | 0.4661374 | 0.2681757 | 0.3857607 | 1.0000000 | 0.0451983 | 0.0131803 | 0.0641960 | 0.2615288 |
| number_outpatient | -0.0089192 | -0.0076064 | -0.0248127 | 0.0451983 | 1.0000000 | 0.0914570 | 0.1073340 | 0.0941483 |
| number_emergency | -0.0096834 | -0.0022824 | -0.0381753 | 0.0131803 | 0.0914570 | 1.0000000 | 0.2665574 | 0.0555355 |
| number_inpatient | 0.0736190 | 0.0392252 | -0.0662263 | 0.0641960 | 0.1073340 | 0.2665574 | 1.0000000 | 0.1047026 |
| number_diagnoses | 0.2201530 | 0.1527374 | 0.0737692 | 0.2615288 | 0.0941483 | 0.0555355 | 0.1047026 | 1.0000000 |
Las variables numéricas muestran que la mayoría de los pacientes tienen estancias hospitalarias cortas, con una duración promedio de alrededor de 4 días. También se observa que los pacientes son sometidos a una cantidad considerable de procedimientos de laboratorio, con una media de 43, lo que indica una atención diagnóstica frecuente. Sin embargo, los procedimientos médicos invasivos son menos comunes, ya que la mayoría de los pacientes solo recibe uno o dos.
En cuanto a la medicación, los pacientes reciben en promedio 16 medicamentos, lo que refleja tratamientos médicos complejos. La mayoría de los pacientes no tiene visitas ambulatorias ni de emergencia previas al ingreso, aunque algunos sí tienen antecedentes de múltiples visitas a emergencias. Además, aunque la mayoría de los pacientes no tiene hospitalizaciones previas, algunos tienen un historial de múltiples ingresos, lo que puede sugerir condiciones más crónicas. Finalmente, los pacientes tienen entre 6 y 9 diagnósticos, lo que muestra que su atención médica generalmente abarca varias condiciones diferentes.
Por ultimo, la siguiente figura, corresponde al mapa de calor de las variables numéricas, donde se puede observar la relación entre las variables de una forma más clara y dinamica.
# Crear el mapa de calor con la función corrplot
corrplot(correlation_matrix,
tl.pos = "n", # No mostrar etiquetas de texto
tl.col = "black", # Color de las etiquetas
cl.cex = 0.8, # Ajustar el tamaño de la leyenda
order = "original", # Ordenar las variables según un dendrograma jerárquico
method = "color", # Usar colores en el mapa de calor
col = colorRampPalette(c('#D14B3D','#F5A831','#1D2F57'))(200), # Definir la paleta de colores
title = "MATRIZ DE CORRELACIÓN DE VARIABLES NUMÉRICAS", # Título
mar = c(0,0,1,0) # Ajustar márgenes
)Aquí se puede observar que no hay correlaciones fuertes entre las variables numéricas, lo que sugiere que no hay una relación lineal clara entre ellas. Esto indica que las variables numéricas representan aspectos diferentes de la atención médica y el tratamiento de los pacientes, lo que refleja la complejidad y diversidad de las condiciones de salud y los tratamientos asociados.
Luego de las transformaciones y análisis realizados, la base de datos final se presenta a continuación.
## Rows: 101,763
## Columns: 36
## $ time_in_hospital <dbl> 4, 2, 4, 5, 1, 7, 6, 3, 2, 3, 2, 4, 3, 3, 1, 4, 5,…
## $ num_lab_procedures <dbl> 66, 48, 21, 38, 6, 42, 43, 26, 24, 60, 10, 32, 63,…
## $ num_procedures <dbl> 3, 0, 3, 0, 0, 2, 2, 1, 3, 0, 0, 2, 4, 2, 4, 0, 6,…
## $ num_medications <dbl> 18, 15, 23, 5, 6, 27, 17, 16, 17, 19, 3, 35, 17, 2…
## $ number_outpatient <dbl> 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,…
## $ number_emergency <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ number_inpatient <dbl> 1, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0,…
## $ number_diagnoses <dbl> 9, 7, 7, 2, 6, 2, 5, 8, 9, 9, 9, 9, 4, 9, 4, 9, 9,…
## $ change <dbl> 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1,…
## $ diabetesMed <dbl> 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1,…
## $ readmitted <dbl> 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1,…
## $ Raza <chr> "Caucásico", "Caucásico", "Caucásico", "Caucásico"…
## $ Genero <chr> "Femenino", "Femenino", "Femenino", "Femenino", "M…
## $ Edad <chr> "70+", "20-50", "50-70", "20-50", "50-70", "70+", …
## $ Admision <chr> "Emergencia", "Otro", "Electiva", "Emergencia", "E…
## $ Discharge <chr> "Dado de alta a casa", "Dado de alta a casa", "Dad…
## $ Especialidad <chr> "Otro", "Otro", "Otro", "Otro", "Medicina Interna"…
## $ Diagnostico1 <chr> "Respiratorio", "Otro", "Otro", "Otro", "Circulato…
## $ Diagnostico2 <chr> "Otro", "Otro", "Otro", "Diabetes", "Diabetes", "D…
## $ Diagnostico3 <chr> "Otro", "Otro", "Otro", "Otro", "Circulatorio", "O…
## $ Metformin <chr> "Estable", "No", "Estable", "Estable", "No", "Esta…
## $ Repaglinide <chr> "No", "No", "No", "No", "No", "No", "No", "No", "N…
## $ Nateglinide <chr> "No", "No", "No", "No", "No", "No", "No", "No", "N…
## $ Chlorpropamide <chr> "No", "No", "No", "No", "No", "No", "No", "No", "N…
## $ Glipizide <chr> "No", "No", "No", "No", "No", "No", "Estable", "No…
## $ Glyburide <chr> "No", "No", "No", "No", "No", "No", "No", "No", "N…
## $ Glimepiride <chr> "No", "No", "No", "No", "No", "No", "No", "No", "N…
## $ Pioglitazone <chr> "No", "No", "No", "Estable", "No", "No", "No", "No…
## $ Rosiglitazone <chr> "No", "No", "No", "No", "No", "Estable", "No", "No…
## $ Acarbose <chr> "No", "No", "No", "No", "No", "No", "No", "No", "N…
## $ Miglitol <chr> "No", "No", "No", "No", "No", "No", "No", "No", "N…
## $ Tolazamide <chr> "No", "No", "No", "No", "No", "No", "No", "No", "N…
## $ Insulin <chr> "Estable", "No", "No", "No", "Estable", "No", "No"…
## $ Glyburide_Metformin <chr> "No", "No", "No", "No", "No", "No", "No", "No", "N…
## $ A1Cresult <chr> "No", "No", "No", "Mayor a 8", "No", "No", "No", "…
## $ Max_Glu_Serum <chr> "No", "No", "No", "No", "No", "No", "No", "No", "N…
Podemos ver como pasamos de tener 151 variables a tener solo 36, al unificar las categoricas en una sola, con esto tambien podemos observar, que tenos un total de 8 variables de tipo numerico y 28 de tipo categorico.
Trabajado por: Cesar Prieto - CapStatsML