Se carga la libreria “pylr”, se importa el archivo necesario para cargar los datos y se definen las variables para poder acceder al conjunto de datos a utilizar.
library("plyr")
source("cargar_datos.R")
nombre1= "NICOLAS ANTONIO RODRIGUEZ DIAZ"
nombre2= "SAMOTH GODOY MADUENO"
datos = cargar_datos(nombre1,nombre2)
knitr::kable(head(datos[,2:ncol(datos)]))
| diagnostico | comorbilidad | sexo | prom_edad | ds_edad | egreso | DE | freq |
|---|---|---|---|---|---|---|---|
| 3rd Degree Sideburns | Alien DNA | Femenino | 67 | 0.38 | Alta | 129 | 37 |
| 3rd Degree Sideburns | Alien DNA | Masculino | 25 | 3.45 | Alta | 121 | 38 |
| 3rd Degree Sideburns | Alien DNA | Masculino | 117 | 1.32 | Fallecido(a) | 71 | 3 |
| 3rd Degree Sideburns | Alien DNA | Otro | 109 | 1.22 | Alta | 62 | 8 |
| 3rd Degree Sideburns | Alien DNA | Otro | 73 | 4.10 | Fallecido(a) | 173 | 1 |
| 3rd Degree Sideburns | Baldness | Femenino | 107 | 0.49 | Alta | 17 | 41 |
presicion = politomica medicion = nominal
presicion = politomica medicion = nominal
presicion = politomica medicion = ordinal
presicion = politomica medicion = nominal
presicion = discreta medicion = ratio
presicion = continua medicion = ratio
presicion = dicotomica medicion = nominal
presicion = discreta medicion = ratio
presicion = discreta medicion = ratio
Fallecidos = (datos[datos$egreso == "Fallecido(a)",])
ProbFall = nrow(Fallecidos)/nrow(datos)
ProbFall
## [1] 0.3270189
Por lo que la probabilidad que tiene un paciente de fallecer en el Hospital Dr. Frambuesa es de 0.3270189.
Se segmentan a los pacientes por el sexo
MFall = (Fallecidos[Fallecidos$sexo == "Masculino",])
FFall = (Fallecidos[Fallecidos$sexo == "Femenino",])
OFall = (Fallecidos[Fallecidos$sexo == "Otro",])
Se establecen los diagnósticos para determinar el con mayor probabilidad:
Enfermedades = c("3rd Degree Sideburns", "Broken Heart", "Broken Wind", "Chronic Nosehair", " Corrugated Ankles", "Discrete Itching", "Fake Blood", "Gastric Ejections", "Golf Stones", "Gut Rot", "Heaped Piles", "Infectious Laughter", "Invisibility", "Iron Lungs", "Kidney Beans", "King Complex", "Ruptured Nodules", "Sleeping Illness", "Spare Ribs", "Sweaty Palms", "The Squits", "Transparency", "TV Personalities", "Uncommon Cold", "Unexpected Swelling")
Ahora se encontrará el diagnóstico con mayor probabilidad de fallecimiento para todos los sexos de los pacientes.
Para el sexo masculino:
probM = 0
for (i in 1:25) {
if ((nrow((MFall[MFall$diagnostico == Enfermedades[i],])))/nrow(MFall) > probM)
probM=(nrow((MFall[MFall$diagnostico == Enfermedades[i],])))/nrow(MFall)
}
probM
## [1] 0.05442177
tabla_MFall = sort(table(MFall$diagnostico), decreasing=TRUE)[1]
EnfermedadMasLetalM = data.frame(tabla_MFall)
EnfermedadMasLetalM
## tabla_MFall
## Chronic Nosehair 8
Siendo el diagnóstico “Chronic Nosehair” el con mayor probabilidad de fallecimiento para el sexo masculino, con una probabilidad del 0.05442177.
Para el sexo femenino:
probF = 0
for (i in 1:25) {
if ((nrow((FFall[FFall$diagnostico == Enfermedades[i],])))/nrow(FFall) > probF)
probF=(nrow((FFall[FFall$diagnostico == Enfermedades[i],])))/nrow(FFall)
}
probF
## [1] 0.05185185
tabla_FFall = sort(table(FFall$diagnostico), decreasing=TRUE)[1]
EnfermedadMasLetalF = data.frame(tabla_FFall)
EnfermedadMasLetalF
## tabla_FFall
## 3rd Degree Sideburns 7
Siendo el diagnóstico “3rd Degree Sideburns” el con mayor probabilidad de fallecimiento para el sexo femenino, con una probabilidad del 0.05185185.
Para el sexo otro:
probO = 0
for (i in 1:25) {
if ((nrow((OFall[OFall$diagnostico == Enfermedades[i],])))/nrow(OFall) > probO)
probO=(nrow((OFall[OFall$diagnostico == Enfermedades[i],])))/nrow(OFall)
}
probO
## [1] 0.08695652
tabla_OFall = sort(table(OFall$diagnostico), decreasing=TRUE)[1]
EnfermedadMasLetalO = data.frame(tabla_OFall)
EnfermedadMasLetalO
## tabla_OFall
## Fake Blood 4
Siendo el diagnóstico “Fake Blood” el con mayor probabilidad de fallecimiento para el sexo femenino, con una probabilidad del 0.08695652.
Se segmentan los pacientes por su mayoría de edad del dataframe de Fallecidos:
DieciochoFall = (Fallecidos[Fallecidos$prom_edad >= 18,])
Se encuentra el nombre de la comorbilidad con mayor frecuencia en personas fallecidas.
tablaCormoFall = sort(table(DieciochoFall$comorbilidad), decreasing=TRUE)[1]
CormoMasLetal = data.frame(tablaCormoFall)
CormoMasLetal
## tablaCormoFall
## Alien DNA 35
Siendo, la cormobilidad “Alien DNA”, estando presente en 35 pacientes. Luego se calcula su probabilidad de aparecer en el total de pacientes.
ComorMax = CormoMasLetal[1,1]
MaxProbComor = ComorMax/nrow(DieciochoFall)
MaxProbComor
## [1] 0.1202749
La comorbolidad “Alien DNA” es la más presente en personas adultas fallecidas en el Hospital, con un 0.1202749 de probabilidad de aparición.
Se obtienen las frecuencias de los diagnósticos más común para las personas fallecidas:
tablaDiagFall = sort(table(Fallecidos$diagnostico), decreasing=TRUE)[1]
DiagnMasLetal = data.frame(tablaDiagFall)
DiagnMasLetal
## tablaDiagFall
## Sleeping Illness 18
Por lo que la enfermedad que presenta mayor cantidad de falleciedos es “Sleeping Illness”.
La tasa de mortabilidad en nuestro recinto hospitalario es mas alta que en el hosptal publico Padre Hurtado, lo que con lleva que poseemos la mayor tasa entre privados y publicos. Ademas las tasas del sector privado no superan los 10% por lo que los recursos y atencion para el sistema publico son totalmente desiguales y diferentes.En cuanto a las enfermedades mas mortales diferenciadas por sexo estan: Chronic Nosehair, 3rd Degree Sideburns y Fake Blood, ordenadas por Masculino, Femenino y Otro sea el caso. Ademàs que un paciente presente otra enfermedad aparte de la que ya posee es 0.1202749 (personas fallecidas) y la enfermedad es Alien DNA.
total_de = sum(datos$DE) #Suma de la columna DE
columnas = nrow(datos) #Columnas totales del data.frame
prom = total_de/columnas #Calculo promedio
prom
## [1] 100.662
Por lo que el promedio de días de estadas del Hospital Dr. Frambuesa es de 100 (días).
#Patologia mas frecuente, menor 18 agnos y mayor a 30 dias de estadia
pediatricos = (datos[datos$prom_edad < 18,]) #Menor 18 agnos
mas_30 = (pediatricos[pediatricos$DE > 30,]) #Menor 18 agnos y mayor a 30 DE
tabla_mas30 = sort(table(mas_30$diagnostico), decreasing=TRUE)[1]
EnfermedadMasLetal = data.frame(tabla_mas30) #Enfermedad mas letal con menos a 18 agnos y mayor a 30 dias de DE
EnfermedadMasLetal
## tabla_mas30
## King Complex 8
#frecuencia total
total_mas30 = nrow(pediatricos[pediatricos$DE > 30,]) #Total columnas mas de 30 dias DE y menor a 18 agnos
total_mas30
## [1] 114
probabilidad = EnfermedadMasLetal[1,1] /total_mas30
probabilidad #Probabilidad
## [1] 0.07017544
La probabilidad de que un paciente pediátrico sea dado de alta posterior a los 30 días de estada corresponde a 0.07017544.
total_men10dias = nrow(datos[datos$DE < 10,]) #total de columnas DE con menor a 10 dias
total_men10dias
## [1] 39
total_ed = nrow(datos) #total de columnas
probab= total_men10dias/total_ed #promedio
probab
## [1] 0.03888335
La probabilidad de que nosotros seamos dados de alta anterior a los 10 días de hospitalización corresponde a un 0.03888335.
Como centro médico Hospital Dr. Frambuesa podemos concluir que llegan pacientes con alto riesgo vital debido a su cormobilidad y diagnóstico, debido a sus alto número de días de estada que presentan, tanto los pacientes adultos como los pediátricos. Además la posibilidad de obtener el alta médica es casi nula, verificando los afirmado anteriormente.