Ejercicio Simulacro de Examen R👋

Ejercicio para practicar un examen tipo de R de bioestadística

Instrucciones generales

Respuestas al simulacro del 19 de diciembre de 2022 Incluya debajo de cada pregunta el código utilizado y su respuesta razonada. No olvide comentar dicho código

La puntuación valorará:

  • Planteamiento de la hipótesis (si aplicase)
  • Planteamiento del problema y justificación del desarrollo
  • Resultado y ejecución del código
  • Toma de decisiones y justificación

Para tabajar con mis datos: https://drive.google.com/file/d/16Yb-sicl_2-kMDZKDrxXBlkttkxIUuyf/view?usp=share_link

Antes de empezar

Recomiendo crear una “copia de seguridad” de los datos con los que vamos a trabajar. Si por algún error sobrescribimos cualquier variable, no podremos volver atrás. Esto es de vital importancia si al inicio del examen generamos una base de datos aleatoria, como es el caso.

datos_copia <- datos

# Si quiero volver a los datos originales me bastará con ejecutar el contrario
# datos <- datos_copia

Por otro lado, la generación de los datos es aleatoria, por lo que algunas de las conclusiones pueden no tener sentido lógico (e.g., sepsis no relación con fiebre).

PREGUNTAS

1. Cuál es el porcentaje de sepsis (sepsis) en función del grado de severidad (grado)?

t1 <- table(datos$sepsis,datos$grado) # Tabla de frecuencias absolutas, no de proporciones; la guardo
prop.table(t1, margin = 2) # Tabla de proporciones. El margin=2 marca la dirección de la proporción en función de la columna, donde he puesto la variable grado.
  
#         Leve  Moderado     Grave
# No 0.5198238 0.3354839 0.6458333
# Si 0.4801762 0.6645161 0.3541667

#R: El 48% de los pacientes leves tienen sepsis, el 66% en moderado y el 35% en grave.

2. Hay diferencias en la proporción de sepsis en función de dicho grado?

#H0: Igualdad general de proporciones (las variables son independientes)

chisq.test(t1) # Chi cuadrado


#R: El p valor asociado al estadístico de contraste (p<0.001) es menor a alpha (95%IC, alpha = 0.05), por lo que la decisión técnica es rechazar H0, por tanto, 
#   puedo concluir que hay diferencias en la proporción de sépsis en función del grado. 

3. Recodifique la variable temperatura (temperatura) en tres intervalos <36.6, 36.6-38.5, >38.5 y obtenga las frecuencias en función de la presencia de sepsis.

temperatura_f <- 
  cut(datos$temperatura, 
      breaks = c(30,36.5,38.5,45),
      labels = c("Baja","Media","Alta"))

# Deberíamos mirar la puntuación mínima y máxima para crear los intervalos, pero otro modo es fijar unos valores "segures" y ponerlos cono mínimo y máximo

table(datos$sepsis,temperatura_f) #Tabla de frecuencias de la temperatura recodificada en función de sepsis. 

#  temperatura_f
#    Baja Media Alta
# No  105    38   89
# Si  103    38  105

#R: Hay 103 casos con sepsis en el grupo de baja temperatura, 38 en el de media y 105 en el de alta. 

4. Existe diferencia en la PAS al ingreso (pas0h) entre los pacientes con y sin sepsis?


# H0: media pas con sepsis = media pas sin sepsis (Los promedios en pas0h en función de sepsis son iguales)
# Objetivo: Comparación de medias
# Supuesto de normalidad: Asumo normalidad en la distribución del estadístico por el tamaño muestral en cada grupo.
# n sepsis sí: 246
# n sepsis no: 232
# Supuesto de igualdad de varianzas
DescTools::LeveneTest(datos$pas0h~datos$sepsis)
# Rechazo la hipótesis nula de igualdad de varianzas puesto que el pvalor es menor que alpha (0.00001 < 0.05). Flevene= 170.05, p valor <0.00001

# Prueba

t.test(datos$pas0h~datos$sepsis, var.equal=F)

#R: El p valor de la prueba t para muestras independientes (sin asumir varianzas iguales) es menor que 0.0001
#   Por lo tanto, rechazo la h0 de igualdad de medias y concluyo con un 95% de seguridad que las medias difieren, en concreto, la media del grupo sin sepsis es mayor (117.12 > 90.20)   


# Versión comprobando la normalidad ------------------------------

#...
# Supuesto de normalidad
by(datos$pas0h,datos$sepsis,shapiro.test)
# No se cumple la normalidad en el grupo de sepsis = No. En el grupo sepsis= sí, se puede asumir normalidad (p=0.693)

# Versión con prueba no paramétrica ------------------------------

wilcox.test(datos$pas0h~datos$sepsis, var.equal=F)

# Misma conclusión que la versión paramétrica.

5. Ha sido el cambio de PAS diferente en función del hecho de padecer o no sepsis (sepsis)? Construya la variable que necesite para responder a esta pregunta.

cambioPAS <- datos$pas3h-datos$pas0h

# H0: El promedio de la diferencia PAS es igual en los dos grupos
# Objetivo: Comparar medias
# Supuesto de normalidad: Asumo normalidad en la distribución del estadistico por el tamaño muestral en cada grupo.
# n sepsis sí: 246
# n sepsis no: 232

# Supuesto de igualdad de varianzas
DescTools::LeveneTest(cambioPAS~datos$sepsis)
# Rechazo la hipotesis nula de igualdad de varianzas puesto que el pvalor es menor que alpha (0.00001 < 0.05). Flevene= 77.556, p valor <0.00001

# Prueba

t.test(cambioPAS~datos$sepsis, var.equal=F)

#R: El p valor de la prueba t para muestras independientes (sin asumir varianzas iguales) es menor que 0.0001
#   t = -24.922, df = 362.59, p-value < 2.2e-16
#   Por lo tanto, rechazo la h0 de igualdad de medias y concluyo con un 95% de seguridad que las medias de la diferencia difieren en función de la variable sepsis, en concreto, la media del grupo CON sepsis es mayor (9.929167  > 1.304460)   

6. Un paciente tiene fiebre cuando tiene una temperatura mayor a 37.5. Hay relación entre entre tener fiebre y sepsis?

fiebre <- ifelse( datos$temperatura > 37.5, yes = "Fiebre", no =  "No Fiebre")

# H0: Independencia entre las variables fiebre y sepsis. Igualdad de proporciones 
# Objetivo: Relacionar dos variables categoricas

t2 <- table(fiebre, datos$sepsis)

# Prueba: Chi cuadrado

chisq.test(t2)

#R:  El p valor asociado al estadístico de contraste es p=0.59, por lo que la decisión técnica es mantener la h0 para un alpha de 0.05.
#    Según los datos muestrales NO tengo evidencias para concluir que las variables sepsis y fiebre estén relacionadas.

7. Construye un gráfico de cajas para la variable temperatura en función del grado de severidad. Comentelo brevemente.

boxplot(datos$temperatura~datos$grado)

# Hay una igualdad aparente en la distribución de la temperatura en función del grado de severidad del paciente.
# La mediana más baja de los grupos es la del grupo grave. 
Adrián Muñoz García
Adrián Muñoz García
Data Scientist and Statistics Professor

My research interests are Behavioral Economics, Cognition and Methods