1 Estadística aplicada en el sector de salud

Introducción: La estadística aplicada en la salud es un conjunto de técnicas que se utilizan para recopilar, organizar, analizar e interpretar datos relacionados con la salud. Esta información es utilizada por investigadores y expertos para aprender sobre la salud pública y la atención médica.

La estadística aplicada en la salud se utiliza para: Definir qué datos se deben recopilar y cómo, Categorizar y almacenar la información, Analizar los datos para extraer conclusiones, Comunicar los resultados de la experimentación, la tomas decisiones.

En este sitio web se muestra lo que es la estadística aplicada en un sector de salud, con bases de datos reales.

En este apartado se muestran, el cáncer de mama.

Para contextualizar, ¿qué es el cáncer de mama? El cáncer de mama es un tipo de cáncer que se origina en las células de los senos. Generalmente, comienza en los conductos que transportan la leche o en las glándulas que la producen. Este tipo de cáncer puede formarse como un bulto o masa en el pecho, y, si no se trata, puede propagarse a otras partes del cuerpo. Los factores de riesgo incluyen la genética, la edad y algunos hábitos de vida. Detectarlo a tiempo mediante mamografías y autoexploración puede ser clave para un tratamiento efectivo.

Las variables para este análisis son: Años (Tiempo de supervivencia) Censura (Paciente con censura; 1=Si, 2=No) Tratamiento (Tipo de tratamiento; A = Hormonoterapia, B=Quimioterapia) Menopausa (Etapa de transicion que se encuentra el paciente) Peso (Peso corporal del paciente) Dmo (Densidad mineral ósea)

Contando con un total de 255 datos de pacientes con cáncer de mama.

Para primer trabajo, se realiza el primer análisis del cáncer de mama

library(openxlsx) #Cargar la libreria, si no se tiene instalar el paquete
## Warning: package 'openxlsx' was built under R version 4.4.2
datos = read.xlsx("C:\\Users\\Becario SAIS\\Downloads\\Cancer_de_mama.xlsx")
# Ver las primeras filas
str(datos)
## 'data.frame':    255 obs. of  6 variables:
##  $ anios      : num  6.9 5.1 8.7 13.2 12.2 ...
##  $ censura    : num  0 0 0 0 0 0 0 1 0 0 ...
##  $ tratamiento: chr  "B" "A" "B" "A" ...
##  $ menopausea : chr  "premenop" "premenop" "premenop" "premenop" ...
##  $ peso       : num  69.4 68.8 63 66.4 64.7 ...
##  $ dmo        : num  0.92 0.86 0.81 0.77 1.33 ...
View(datos) #Ver todos los datos
# Cargar paquetes necesarios
library(survival)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.2
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# 1. Estadística Descriptiva
summary(datos)
##      anios           censura       tratamiento         menopausea       
##  Min.   : 0.000   Min.   :0.0000   Length:255         Length:255        
##  1st Qu.: 2.500   1st Qu.:0.0000   Class :character   Class :character  
##  Median : 5.300   Median :0.0000   Mode  :character   Mode  :character  
##  Mean   : 5.926   Mean   :0.4039                                        
##  3rd Qu.: 9.300   3rd Qu.:1.0000                                        
##  Max.   :13.500   Max.   :1.0000                                        
##       peso            dmo       
##  Min.   :52.05   Min.   :0.640  
##  1st Qu.:63.03   1st Qu.:0.890  
##  Median :66.08   Median :1.020  
##  Mean   :65.92   Mean   :1.024  
##  3rd Qu.:68.81   3rd Qu.:1.140  
##  Max.   :79.03   Max.   :1.700
table(datos$tratamiento)
## 
##   A   B 
## 122 133

Como podemos observar en la salida de R, estamos viendo que mujeres acuden más por la Quimioterapia con un total de 133, en cambio de las mujeres qyue llevan Hormonoterapia con un total de 122.

# Prueba t de Student para comparar el peso entre tratamientos
t_test_peso <- t.test(peso ~ tratamiento, data = datos)
print(t_test_peso)
## 
##  Welch Two Sample t-test
## 
## data:  peso by tratamiento
## t = -0.49086, df = 251.81, p-value = 0.624
## alternative hypothesis: true difference in means between group A and group B is not equal to 0
## 95 percent confidence interval:
##  -1.332861  0.801017
## sample estimates:
## mean in group A mean in group B 
##        65.78385        66.04977
# Hipótesis:
# H0: No hay diferencia significativa en el peso entre los tratamientos
# H1: Hay una diferencia significativa en el peso entre los tratamientos

Los tratamientos A y B parecen tener un efecto similar en el peso de los pacientes. No hay una diferencia significativa entre ellos, por lo que cualquier variación en el peso puede ser atribuida a fluctuaciones naturales en los datos y no al tratamiento en sí.

# Prueba t para comparar DMO entre tratamientos
t_test_dmo <- t.test(dmo ~ tratamiento, data = datos)
print(t_test_dmo)
## 
##  Welch Two Sample t-test
## 
## data:  dmo by tratamiento
## t = 0.2969, df = 249.42, p-value = 0.7668
## alternative hypothesis: true difference in means between group A and group B is not equal to 0
## 95 percent confidence interval:
##  -0.03697693  0.05010401
## sample estimates:
## mean in group A mean in group B 
##        1.027541        1.020977
# Hipótesis:
# H0: No hay diferencia significativa en la DMO entre los tratamientos
# H1: Hay una diferencia significativa en la DMO entre los tratamientos

Los tratamientos A y B parecen tener efectos similares sobre la densidad mineral ósea, por lo que no hay una diferencia clara entre ellos en esta variable.

# Prueba de chi-cuadrado para censura vs tratamiento
table_censura <- table(datos$censura, datos$tratamiento)
chisq_test_censura <- chisq.test(table_censura)
print(chisq_test_censura)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table_censura
## X-squared = 0.20644, df = 1, p-value = 0.6496
# Hipótesis:
# H0: No hay asociación entre la censura y el tratamiento
# H1: Hay una asociación significativa entre la censura y el tratamiento

El tratamiento A y el tratamiento B tienen distribuciones de censura similares, por lo que no parece haber un sesgo sistemático en la pérdida de datos entre los grupos.

library(survminer)
## Warning: package 'survminer' was built under R version 4.4.2
## Cargando paquete requerido: ggpubr
## 
## Adjuntando el paquete: 'survminer'
## The following object is masked from 'package:survival':
## 
##     myeloma
# 3. Análisis de Supervivencia
# Crear objeto de supervivencia
surv_obj <- Surv(time = datos$anios, event = datos$censura)

# Modelo de Kaplan-Meier
km_fit <- survfit(surv_obj ~ tratamiento, data = datos)

ggsurvplot(km_fit, data = datos, 
           pval = TRUE, conf.int = TRUE, 
           risk.table = TRUE, 
           ggtheme = theme_minimal(),
           title = "Curvas de Supervivencia por Tratamiento",
           xlab = "Tiempo (años)",
           ylab = "Probabilidad de Supervivencia")

las curvas de supervivencia para los tratamientos A (rojo) y B (azul), con sus intervalos de confianza sombreados. Ambas curvas son bastante similares a lo largo del tiempo, lo que sugiere que no hay una gran diferencia en la supervivencia entre los dos grupos.

# Prueba de Log-Rank para comparar tratamientos
logrank_test <- survdiff(surv_obj ~ tratamiento, data = datos)
print(logrank_test)
## Call:
## survdiff(formula = surv_obj ~ tratamiento, data = datos)
## 
##                 N Observed Expected (O-E)^2/E (O-E)^2/V
## tratamiento=A 122       47     47.7   0.01067    0.0201
## tratamiento=B 133       56     55.3   0.00921    0.0201
## 
##  Chisq= 0  on 1 degrees of freedom, p= 0.9
# Hipótesis:
# H0: No hay diferencia en la supervivencia entre los tratamientos
# H1: Hay una diferencia significativa en la supervivencia entre los tratamientos

Con un valor p = 0.9, que es mucho mayor que el umbral común de 0.05, no rechazamos la hipótesis nula. Es decir, los resultados no muestran evidencia suficiente para sugerir que los tratamientos A y B tengan una diferencia significativa en términos de supervivencia.

# 4. Modelo de Cox
cox_model <- coxph(surv_obj ~ tratamiento + peso + dmo, data = datos)
summary(cox_model)
## Call:
## coxph(formula = surv_obj ~ tratamiento + peso + dmo, data = datos)
## 
##   n= 255, number of events= 103 
## 
##                  coef exp(coef) se(coef)     z Pr(>|z|)
## tratamientoB 0.028469  1.028878 0.198640 0.143    0.886
## peso         0.004781  1.004793 0.022861 0.209    0.834
## dmo          0.120906  1.128519 0.573457 0.211    0.833
## 
##              exp(coef) exp(-coef) lower .95 upper .95
## tratamientoB     1.029     0.9719    0.6971     1.519
## peso             1.005     0.9952    0.9608     1.051
## dmo              1.129     0.8861    0.3668     3.472
## 
## Concordance= 0.499  (se = 0.03 )
## Likelihood ratio test= 0.11  on 3 df,   p=1
## Wald test            = 0.11  on 3 df,   p=1
## Score (logrank) test = 0.11  on 3 df,   p=1

El modelo de Cox ajustado para evaluar el impacto de las variables tratamiento, peso y dmo sobre la supervivencia muestra que ninguna de estas variables tiene un efecto significativo en la supervivencia.

En cuanto al tratamiento, la diferencia entre el tratamiento B y el A tiene un coeficiente de 0.028469, lo que indica una ligera tendencia hacia un mayor riesgo de fallecimiento en el tratamiento B, pero la relación no es significativa, ya que el valor p es 0.886, mucho mayor que el umbral común de 0.05. Esto sugiere que el tratamiento B no tiene un efecto estadísticamente significativo sobre la supervivencia en comparación con el tratamiento A.

Para la variable peso, el coeficiente estimado es 0.004781, lo que indica que un mayor peso podría estar asociado con una ligera disminución en el riesgo de fallecimiento. Sin embargo, el valor p de 0.834 indica que esta relación tampoco es significativa en términos estadísticos, lo que sugiere que el peso no tiene un impacto importante en la supervivencia de los pacientes.

En cuanto a dmo (Diagnóstico Médico Original), el coeficiente es 0.120906, lo que sugiere que un mayor valor de dmo podría estar asociado con un pequeño aumento en el riesgo de fallecimiento. Sin embargo, el valor p de 0.833 sugiere que este efecto no es significativo, por lo que no se puede concluir que el diagnóstico médico original influya de manera relevante en la supervivencia.

El índice de concordancia del modelo es de 0.499, lo que indica que el modelo tiene una capacidad predictiva cercana a la aleatoria. Los resultados de los tests de razón de verosimilitud, Wald y logrank (todos con p = 1) refuerzan la idea de que el modelo no tiene un ajuste adecuado y no explica significativamente las variaciones en la supervivencia.