En 1847, el médico húngaro Ignaz Semmelweis hizo un gran descubrimiento: lavarse las manos. Las manos contaminadas eran la mayor causa de fiebre de parto y forzando el lavado de manos en su hospital salvó la vida de cientas de personas.
En este proyecto reanalizaremos la data médica que Semmelweils recogió.
Este es el Dr. Ignaz Semmelweis, un médico húngaro nacido en 1818 y trabajó en el Vienna General Hospital. Semmelweis tenía una preocupación: la fiebre de parto, una enfermedad mortal afectando a las mujeres que acababan de dar a luz. A principios de 1840, en el Vienna General Hospital, el 10% de las mujeres que dieron luz murieron a causa de esta enfermedad. Semmelweis sabía la causa de esta enfermedad: las manos contaminadas de los doctores que hacían labores de parto, y estos doctores hacían caso omiso a las advertencias de Semmelweis.
En este proyecto reanalizaremos la data que hizo que Semmelweis descubriera la importancia de lavarse las manos. Empecemos observando la data que hizo que Semmelweis sintiera que había algo mal con los procedimientos en el hospital.
# Cargamos el paquete tidyverse
library(tidyverse)
# Importamos la data
yearly <- read_csv("yearly_deaths_by_clinic.csv")
# Observamos la data
yearly
## # A tibble: 12 x 4
## year births deaths clinic
## <int> <int> <int> <chr>
## 1 1841 3036 237 clinic 1
## 2 1842 3287 518 clinic 1
## 3 1843 3060 274 clinic 1
## 4 1844 3157 260 clinic 1
## 5 1845 3492 241 clinic 1
## 6 1846 4010 459 clinic 1
## 7 1841 2442 86 clinic 2
## 8 1842 2659 202 clinic 2
## 9 1843 2739 164 clinic 2
## 10 1844 2956 68 clinic 2
## 11 1845 3241 66 clinic 2
## 12 1846 3754 105 clinic 2
La tabla anterior muestra el número de mujeres dando a luz en dos clínicas en el Vienna General Hospital del año 1841 al año 1846. Notarán que dar a luz era muy peligroso, un alarmante número de mujeres murieron a causa de dar a luz, la mayoría de estos casos por fiebre de parto.
Veremos esto más claro si observamos la proporción de muertes con respecto a las mujeres dando a luz.
# Agregamos una nueva columna a la data original, "proportion_deaths"
yearly <- yearly %>%
mutate(proportion_deaths = deaths/births)
# Observamos nuestra data
yearly
## # A tibble: 12 x 5
## year births deaths clinic proportion_deaths
## <int> <int> <int> <chr> <dbl>
## 1 1841 3036 237 clinic 1 0.0781
## 2 1842 3287 518 clinic 1 0.158
## 3 1843 3060 274 clinic 1 0.0895
## 4 1844 3157 260 clinic 1 0.0824
## 5 1845 3492 241 clinic 1 0.0690
## 6 1846 4010 459 clinic 1 0.114
## 7 1841 2442 86 clinic 2 0.0352
## 8 1842 2659 202 clinic 2 0.0760
## 9 1843 2739 164 clinic 2 0.0599
## 10 1844 2956 68 clinic 2 0.0230
## 11 1845 3241 66 clinic 2 0.0204
## 12 1846 3754 105 clinic 2 0.0280
Grafiquemos la proporción de muertes en las clínicas 1 y 2 y observaremos un curioso patrón
# Arreglamos el tamaño del gráfico para observarlo mejor
options(repr.plot.width = 7, repr.plot.height = 4)
# Gráfica de la proporción anual en ambas clínicas
ggplot(yearly, aes(x = year, y = proportion_deaths, col = clinic)) +
geom_line()
¿Por qué la proporción de muertes es constantemente mayor en la Clínica 1? Semmelweis observó el mismo patrón y empezó a indagar. La única diferencia entre ambas clínicas era que muchos estudiantes de medicina trabajaban en la Clínica 1 y la mayoría de estudiantes de obstetricia trabajaban en la Clínica 2. Mientras que los obstetras sólo atendían a las mujeres dando a luz, los estudiantes médicos también pasaban tiempo en las salas de autopsia examinando los cadáveres.
Semmelweis empezó a sospechar que algo en los cadáveres, propagado a las manos de los médicos estudiantes, causaba la fiebre de parto. Así que en un desesperado intento para detener las altas tasas de mortalidad, decretó que todos se debían lavar las manos, esto fue una controversia, ya que nadie en Vienna sabía de las bacterias en esos tiempos.
Importemos la data mensual de la Clínica 1 para ver si lavarse las manos tuvo algún efecto.
# Importamos la data mensual
monthly <- read_csv("monthly_deaths.csv")
# Insertamos una nueva columna, "proportion_deaths"
monthly <- monthly %>%
mutate(proportion_deaths = deaths/births)
# Primeras observaciones de la variable creada
head(monthly)
## # A tibble: 6 x 4
## date births deaths proportion_deaths
## <date> <int> <int> <dbl>
## 1 1841-01-01 254 37 0.146
## 2 1841-02-01 239 18 0.0753
## 3 1841-03-01 277 12 0.0433
## 4 1841-04-01 255 4 0.0157
## 5 1841-05-01 255 2 0.00784
## 6 1841-06-01 200 10 0.05
Ahora podemos ver la proporción de muertes a lo largo del tiempo.
# Plot monthly proportion of deaths
ggplot(monthly, aes(date, proportion_deaths)) +
geom_line() +
labs(x = "Fecha", y = "Proporción de Muertes")
Se observa un decrecimiento en la proporción a mediados de 1847.
Empezando desde el verano de 1847, la proporción de muertes se redujo drásticamente, y sí, en este período de tiempo fue cuando Semmelweis decretó como obligatorio el lavarse las manos.
El efecto de lavarse las manos es más claro si lo resaltamos en el gráfico.
# Desde 01/06/1847 el lavado de manos fue obligatorio
handwashing_start = as.Date('1847-06-01')
# Agregamos una columna de "TRUE", FALSE llamada "handwashing_started" para observar si había o no empezado el decreto obligatorio de lavarse las manos
monthly <- monthly %>%
mutate(handwashing_started = ifelse(date >= handwashing_start, T, F))
# Graficamos la proporción de muertes antes y después del decreto
ggplot(monthly, aes(date, proportion_deaths, col = handwashing_started)) +
geom_line() +
labs(x = "Fecha", y = "Proporcion de Muertes")
De nuevo, el gráfico nos muestra que lavarse las manos causó un gran efecto (positivo) en la proporción de muertes en mujeres debido al parto. Pero, ¿en cuánto se redujo en promedio la proporción de muertes mensual?
# Calculamos el promedio de la proporción antes y despues del lavado de manos
monthly_summary <- monthly %>%
group_by(handwashing_started) %>%
summarise(mean(proportion_deaths))
# Veamos el resumen
monthly_summary
## # A tibble: 2 x 2
## handwashing_started `mean(proportion_deaths)`
## <lgl> <dbl>
## 1 FALSE 0.105
## 2 TRUE 0.0211
¡Redujo la proporción de muertes en 8 puntos porcentuales! De en promedio 10% antes de lavarse las manos a tan sólo 2% cuando se obligó a lavarse las manos (que aún es un número alto considerando los estándares modernos). Para percibir la incertidumbre de cuánto el lavado de manos reduce la mortalidad, podríamos observar un intervalo de confianza utilizando un t-test.
# Calculando un 95% de intervalo de confianza utilizando un t-test
test_result <- t.test( proportion_deaths ~ handwashing_started, data = monthly)
test_result
##
## Welch Two Sample t-test
##
## data: proportion_deaths by handwashing_started
## t = 9.6101, df = 92.435, p-value = 1.445e-15
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 0.06660662 0.10130659
## sample estimates:
## mean in group FALSE mean in group TRUE
## 0.10504998 0.02109338
Que los doctores no se lavaran las manos incrementó la proporción de muertes entre 6.7 y 10 puntos porcentuales, de acuerdo a un intervalo de confianza del 95%. En resumen, pareciera que Semmelweis tuvo evidencia sólida de que lavarse las manos era un procedimiento simple pero muy efectivo que podía salvar muchas vidas.
La tragedia es que, a pesar de las evidencias, la teoría de Semmelweis -que la fiebre de parto era causada por una “sustancia” (lo que hoy conocemos como bacteria) adquirida de las salas de autopsia- fue ridiculizada por científicos contemporáneos. La comunidad médica rechazó su descubrimiento y en 1849 fue obligado a retirarse del Vienna General Hospital.
Una razón para esta decisión fue que la estadística y los argumentos estadísticos eran poco comúnes en la ciencia médica en los años 1800. Semmelweis sólo publicó su data con largas tablas de data “cruda”, pero no mostró ningún gráfico o intervalos de confianza. Si hubiese tenido acceso al análisis que acabamos de hacer, hubiese sido más exitoso.