library("plyr")          
source("cargar_datos.R") 

nombre1="GASPAR AGUSTIN CATALAN AGUILERA"
nombre2="CRISTOBAL FRANCISCO MARCHANT OSORIO"
  
datos = cargar_datos(nombre1,nombre2)

2.1

Describa cada una de las variables del conjunto de datos indicando su clasificación según tipo: medición y precisión.

# nombre hospital     presicion -> politomica     medicion -> nominal
# diagnostico               presicion -> politomica       medicion -> nominal
# comorbilidad          presicion -> politomica       medicion -> ordinal
# sexo                      presicion -> politomica       medicion -> nominal
# prom edad               presicion -> discreta         medicion -> ratio
# DS edad               presicion -> continua           medicion -> ratio
# egreso                    presicion -> dicotomica       medicion -> nominal
# DE                  presicion -> discreta         medicion -> ratio
# frecuencia                presicion -> discreta         medicion -> ratio

2.2.1

¿Cuál es la probabilidad que tiene un/una paciente de fallecer en su establecimiento hospitalario? Indique la tasa de mortalidad hospitalaria de su establecimiento.

TazaMuerto = tapply(datos$freq, datos$egreso, FUN=sum)[2]/sum(datos$freq) 
TazaMuerto
## Fallecido(a) 
##       0.2517

2.2.2

¿Cuál es el diagnóstico principal que tienen mayor probabilidad de fallecimiento (letalidad) en su hospital según cada sexo biológico?

TDS=data.frame(apply(xtabs(freq~diagnostico-sexo-egreso, datos), c(2, 1, 3), sum)) #tabla de diagnostico separados por sexo

# definimos funcion para encontrar el promedio mas bajo
sumita=function(L, L2){ 
  i=1
  min=0
  while (i < 26){
    aux=L[i]/L2[i]
    if (min < aux){
      min = aux
    }
    i=i+1
  }
  return(min)
}
#TDS[1,]-> femenino
sumita(TDS[1,][26:50], TDS[1,][1:25]+TDS[1,][26:50])
##          Infectious.Laughter.Fallecido.a.
## Femenino                        0.2919897
#TDS[2,]-> masculino
sumita(TDS[2,][26:50], TDS[2,][1:25]+TDS[2,][26:50])
##           Broken.Wind.Fallecido.a.
## Masculino                0.3014085
#TDS[3,]-> otros
sumita(TDS[3,][26:50], TDS[3,][1:25]+TDS[3,][26:50])
##      Ruptured.Nodules.Fallecido.a.
## Otro                     0.3880597

2.2.3

¿Cuál es la comorbilidad que presenta mayor probabilidad de aparición en personas adultas fallecidas en su establecimiento hospitalario?

new=data.frame(xtabs(freq~comorbilidad-prom_edad-egreso, datos))
new2= new[-c(1:1242), ] #->lista fallecidos mayores de edad

#sumita2 para encontrar el mayor comorbilidad
sumita2=function(L){
  min=0
  i=0
  for(i in 1:nrow(L)){
    aux=L[i]
    if (aux > min){
      min = aux
    }
  }
  return(min)
}

MaxProAdultos = sumita2(xtabs(Freq~comorbilidad, new2))  # Maxima comorbilidad
SumaComorFallecida = sum(xtabs(Freq~comorbilidad, new2)) # total de cormobilidad fallecidos

Res2.2.3 = MaxProAdultos/SumaComorFallecida
Res2.2.3
## Hairyitis 
## 0.1240345

2.2.4

Usando como base el diagnóstico principal con mayor probabilidad de fallecimiento (letalidad) en su hospital: ¿cuál es la probabilidad de que si el próximo año se hospitalizan 100 personas con esa patología, N de ellas fallezcan?

new3 = data.frame(xtabs(freq~diagnostico-egreso, datos)) #-> vivos muertos, con diagnostico
new4 = xtabs(Freq~diagnostico, new3[-c(1:25),])          #-> fallidos del total del diagnostico
new3.1 = xtabs(freq~diagnostico, datos)                  #-> total de cada diagnostico
DiagLetal=sumita(new4, new3.1)                           #-> diagnostico mas letal

m= new4[15]            #total mueltos
N= new3.1[15]          #total (mueltos + vivos)
#N-m = new3.1 - new4   #total vivos
k=100                
x= sample(seq(5,50),1)

DisHiperGeo =dhyper(x, m=229, k=100, n=(832 - 229))
#Diagnostico mas letal -> Kidney Beans
DisHiperGeo
## [1] 1.625832e-06

Grafico del ejercicio anterior

exitos=seq(0:50)
distribucion = dhyper(x=exitos, m=229, k=100, n=(832-229))
datoso =data.frame(exitos,distribucion)
#Gráfico
library("ggplot2")
grafico = ggplot(data=datoso,aes(x=exitos,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="red")
grafico = grafico + theme_bw() + ggtitle("Distribución de
probabilidades")
grafico = grafico + xlab("exitos") + ylab("Probabilidad")
plot(grafico)

2.2.5

¿Qué puede concluir de los resultados con relación a las características y gestión de su establecimiento hospitalario?

La probabilidad de fallecer es bastante baja (0,517), por lo cual significa que el hospital está haciendo un gran trabajo en el cuidado de las personas y su recuperación. Por otro lado hemos notado que la risa infecciosa esta afectando principalmente a mujeres, a los hombres el brokenwind, y a otros sexos a ruptured Nodules, por lo cual se le dará mas atención a las capacitaciones para el tratamiento de estas comorbilidades, para que los pacientes no tengan que pasar más por esos efectos secundarios. Hay que poner especial atención al efecto secundario que están presentando los adultos mayores fallecidos(Hairyitis), puede que de una pista esencial para identificar mejor la causa de muerte. Además se sugerirá a la OMS que aceleren las investigaciones para curar la “Kidney Beans”, dado que en nuestro hospital se está presentando como el diagnostico más letal.

2.3.1

¿Cuál es el promedio de día de estadas (DE) de su establecimiento hospitalario?

PromDE = sum(datos$DE)/nrow(datos)
PromDE
## [1] 101.1606

2.3.2

¿Cuál es la probabilidad de que un paciente pediátrico (menor a 18 años) sea dado de alta de la patología más frecuente después de 30 días de estada? Asuma en ambos casos una distribución normal y una desviación estándar típica de 0.2 para los DE.

numProm= sum(subset(subset((subset((subset(datos, prom_edad<18)), DE>=30)), diagnostico=="Infectious Laughter"), egreso== "Alta")$DE * subset(subset((subset((subset(datos, prom_edad<18)), DE>=30)), diagnostico=="Infectious Laughter"), egreso== "Alta")$freq)

media2.3.2=numProm/sum((subset(datos, prom_edad<18))$freq)

dnorm(30, media2.3.2, 0.2)
## [1] 0

Grafica del ejercicio

x=seq(0,30,by=0.1)
y=dnorm(seq(0,30,by=0.1), media2.3.2 ,0.2)
z=y
z[which(x>60)]=0
datoszzz=data.frame(x,y,z)
#Gráfico
library("ggplot2")
p = ggplot(data.frame(x = x, y = y)) + aes(x = x, y = y)
p = p+geom_line(color="darkblue") + labs(x = "Dist. normal", y = "Densidad")
p = p + theme_classic()
p = p + geom_area(data = datoszzz, aes(x=x,y=z), fill="lightblue", alpha=0.4)
p = p + scale_x_continuous(breaks = c(0,15,30))
plot(p) 

2.3.3

¿Cuál es la probabilidad de que si usted es o ustedes son hospitalizados en su establecimiento hospitalario sean dados de alta antes de los 10 días? Al igual que el ejercicio anterior, asuma una distribución normal y una desviación estándar típica de 0.2 para los DE.

numProm2.3.3 = subset(subset(subset(datos, prom_edad==21), DE<10), egreso== "Alta")$DE * subset(subset(subset(datos, prom_edad==21), DE<10), egreso== "Alta")$freq
media2.3.3=numProm2.3.3/(sum(subset(datos, prom_edad==21)$freq))

dnorm(10, media2.3.3, 0.2)
## [1] 0

Grafico del ejercicio

x=seq(0,10,by=0.1)
y=dnorm(seq(0,10,by=0.1), media2.3.3 ,0.2)
z=y
z[which(x>60)]=0
datoszzz=data.frame(x,y,z)
#Gráfico
library("ggplot2")
p = ggplot(data.frame(x = x, y = y)) + aes(x = x, y = y)
p = p+geom_line(color="darkblue") + labs(x = "Dist. normal", y = "Densidad")
p = p + theme_classic()
p = p + geom_area(data = datoszzz, aes(x=x,y=z), fill="lightblue", alpha=0.4)
p = p + scale_x_continuous(breaks = c(0,5,10))
plot(p) 

2.4.1

Si usted ve/ustedes ven salir de su hospital a cuatro pacientes dados de alta del hospital caminando uno tras otro: ¿cuál es la probabilidad de que todos/todas ellos/ellas hayan tenido la patología con mayor probabilidad de aparición atendida en su establecimiento?

sera una distribucion de probabilidad uniforme por lo tanto:

#probabilidad de un paciente
DiagLetal  #-> DiagLetal sacado de ejercicio anterior
## Kidney Beans 
##    0.2752404
# probabilidad para 4 pacientes
Prob4_2.4.1 = 4* DiagLetal

Prob4_2.4.1                   
## Kidney Beans 
##     1.100962