Lavage des mains

Le lavage des mains est une pratique très courante de nos jours. Avec les temps qui courent, il devient un réflexe pour plus d'un. Pourtant, cela n'a pas eté toujours ainsi. Que nous révèlent l'expérience du Dr Ignaz Semmelweis avec les femmes suite aux accouchements? Pour cela, nous allons utiliser des données disponibles sur le site de Wikipédia.

Extraction des données

Les librairies suivantes seront utilisées pour l'extraction et la visualisation des donnnées. en particulier rvest pour l'extraction et ggplot pour la visualisation.

In [104]:
library(rvest)
library(httr)
library(dplyr)
library(zoo)
library(ggplot2)
In [105]:
site<-"https://en.wikipedia.org/wiki/Historical_mortality_rates_of_puerperal_fever"
xpath='//*[@id="mw-content-text"]/div[1]/table[1]'

Cette fonction permet d'extraire le premier tableau des données de l'experience du Dr Ignaz Semmelweis.

In [106]:
extractTable<-function(site,xpath)
{
  tableau.site <-content(html_session(site)$response)%>%
    html_nodes(xpath=xpath)%>%
    html_table(fill=TRUE)
  return(tableau.site)
}
In [107]:
monthly<-extractTable(site,xpath)
monthly<-as.data.frame(monthly)

for (i in 1:dim(monthly)[1])
{
  monthly[i,7]<-unlist(strsplit(monthly[i,2],'[" "]'))[2]
}

En voici un extrait du tableau. On a comme variables pertinentes l'année et le mois, le nombre de naissance, le nombre de femmes mortes.

In [108]:
head(monthly)
A data.frame: 6 × 7
YearMonthBirthsDeathsRate....NotesV7
<int><chr><chr><chr><chr><chr><chr>
11841January 1841 2543714.61841
2 NAFebruary 1841239187.5 1841
3 NAMarch 1841 277124.3 1841
4 NAApril 1841 2554 1.6 1841
5 NAMay 1841 2552 0.8 1841
6 NAJune 1841 200105.0 1841

Faisons un peu de nettoyage dans nos données

Nous allons retenir uniquement les variables qui seront utilisées dans le cadre de notre analyse. On retient le mois et l'année, les naissances et la quantité de femmes mortes suite aux accouchements.

In [109]:
monthly<-monthly[,-c(1,5,6)]
names(monthly)[4]<-"Year"
monthly<-monthly[,c(1,4,2,3)]
head(monthly)
A data.frame: 6 × 4
MonthYearBirthsDeaths
<chr><chr><chr><chr>
1January 1841 184125437
2February 1841184123918
3March 1841 184127712
4April 1841 18412554
5May 1841 18412552
6June 1841 184120010

Il n'y a pas de données diisponibles le mois de décembre 1841, on enlève cette ligne.

In [110]:
which(is.na(monthly$Births))
monthly[12,]
A data.frame: 1 × 4
MonthYearBirthsDeaths
<chr><chr><chr><chr>
12December 18411841nana

On constate aussi que les variables année mois, naisssance et femmes mortes ne sont pas dans le bon format. On procède à la conversion du format de ces variables.

In [111]:
monthly<-monthly[-12,]
monthly$Births<-as.numeric(monthly$Births)
monthly$Deaths<-as.numeric(monthly$Deaths)
monthly$Month<-as.yearmon(monthly$Month,format="%B %Y")
head(monthly)
A data.frame: 6 × 4
MonthYearBirthsDeaths
<yearmon><chr><dbl><dbl>
1Jan 1841184125437
2Feb 1841184123918
3Mar 1841184127712
4Apr 18411841255 4
5May 18411841255 2
6Jun 1841184120010

Complétons notre dataframe

Il est important de calculer la proportion de femmes mortes par rapport aux naissances.

In [112]:
monthly<-monthly%>%
mutate(proportion_deaths =Deaths/Births)
head(monthly)
A data.frame: 6 × 5
MonthYearBirthsDeathsproportion_deaths
<yearmon><chr><dbl><dbl><dbl>
1Jan 18411841254370.145669291
2Feb 18411841239180.075313808
3Mar 18411841277120.043321300
4Apr 18411841255 40.015686275
5May 18411841255 20.007843137
6Jun 18411841200100.050000000

Visualisons la proportion de femmes mortes à travers le temps

La proportion de femmes mortes de 1841 à 1846 a majoritairement été suprérieure à 20%. Elle a connu une baisse considérable et continue à partir de 1847. Que s'est-il passé?

In [113]:
options(repr.plot.width=20, repr.plot.height=10)
ggplot(monthly,aes(Month,proportion_deaths))+
labs(x='Année',y='Proportion de femmes mortes')+
theme(text = element_text(size=20))+
geom_line(size=2)+
geom_vline(xintercept=as.numeric(monthly$Month[which(monthly$Month=="May 1847")]),linetype=1,color='blue',size=1.5)

Le lavage des mains devient obligatoire

Le lavage des mains devient obligatoire dans tous les hopitaux participant à l'expérience à partir de Mai 1947. Ceci a substantiellement contribué à une réduction du nombre de femmes mortes suite à l'accouchemnent.

In [114]:
handwashing_start = as.yearmon('May 1847')
monthly<-monthly%>%
mutate(handwashing_started=Month>=handwashing_start)
head(monthly)
A data.frame: 6 × 6
MonthYearBirthsDeathsproportion_deathshandwashing_started
<yearmon><chr><dbl><dbl><dbl><lgl>
1Jan 18411841254370.145669291FALSE
2Feb 18411841239180.075313808FALSE
3Mar 18411841277120.043321300FALSE
4Apr 18411841255 40.015686275FALSE
5May 18411841255 20.007843137FALSE
6Jun 18411841200100.050000000FALSE

Ce graphique montre à quel point la proportion de femmes mortes a chuté suite à l'obligation qui est faite au personnel médical de se laver les mains avant les accouchements.

In [115]:
ggplot(monthly,aes(Month,proportion_deaths,color=handwashing_started))+
theme(text = element_text(size=20))+
labs(x='Année',y='Proportion de femmes mortes')+
geom_line(size=1.5)

Simple mais continue de sauver des vies

Le lavage des mains n'a pas toujours été une pratique connue et suivie. Les découvertes en sciences médicales ont permis de mieux appréhender son importance dans la transmission de certains germes. Alors, limitons la propagations des bactéries et compagnie, LAVONS nos mains!!!!!