Os datasets que serão utilizados : yearly.csv
contém o número de mulheres que deram à luz nas duas clínicas do
Hospital Geral de Viena entre os anos de 1841 e 1846. E o monthly.csv
que contém dados da ‘Clínica 1’ do hospital onde ocorreu a maioria das
mortes.
# Carregamento dos datasets e do pacote para a análise
library(tidyverse)
yearly <- read_csv("Yearly.csv")
monthly <- read_csv("Monthly.csv")
# Olhando as primeiras linhas de cada dataset
head(yearly)
## # A tibble: 6 × 4
## year births deaths clinic
## <dbl> <dbl> <dbl> <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
head(monthly)
## # A tibble: 6 × 3
## date births deaths
## <date> <dbl> <dbl>
## 1 1841-01-01 254 37
## 2 1841-02-01 239 18
## 3 1841-03-01 277 12
## 4 1841-04-01 255 4
## 5 1841-05-01 255 2
## 6 1841-06-01 200 10
# Podemos observar que o dataset yearly é composto por 4 variáveis(Colunas), e o dataset monthly é composto por 3 variáveis(Colunas)
# As variáveis do dataset yearly são : Year(Ano), births(N. de nascimentos), deaths(N. de mortes) e clinic(Clínicas 1 e 2).
# As variáveis do dataset monthly são : date( Data ), births(N. de nascimentos), deaths(N. de mortes).
(1) Para começar, vamos traduzir os nomes de nossas variáveis
para o Português brasileiro.
yearly <- yearly %>% rename(ano = year, nascimentos = births, mortes = deaths, clinica = clinic )
monthly <- monthly %>% rename(data = date, nascimentos = births, mortes = deaths)
head(monthly)
## # A tibble: 6 × 3
## data nascimentos mortes
## <date> <dbl> <dbl>
## 1 1841-01-01 254 37
## 2 1841-02-01 239 18
## 3 1841-03-01 277 12
## 4 1841-04-01 255 4
## 5 1841-05-01 255 2
## 6 1841-06-01 200 10
head(yearly)
## # A tibble: 6 × 4
## ano nascimentos mortes clinica
## <dbl> <dbl> <dbl> <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
Dr. Semmelweis e sua importância na redução de mortes
relacionadas a febre infantil.
(2) Vamos calcular as proporções de mortes por número de
nascimentos para criar taxas específicas de mortalidade relacionadas a
nascimentos, e adicionar o resultado para uma nova variável para os dois
datasets.
yearly <- yearly %>% mutate(proporcao_mortes = mortes/nascimentos )
monthly <- monthly %>% mutate(proporcao_mortes = mortes/nascimentos)
Comentários :: Observe pelo segundo gráfico
feito com o dataset monthly que justamente no período pós a data de 1º
de junho de 1847 quando foi decretado pelo Dr. Semmelweis a lavagem de
mãos, começou a ter uma queda drástica na proporção de mortes. Ou seja,
as conclusões do Dr. Semmelweis estavam super certas em relação as mãos
contaminadas dos médicos contribuirem para a febre infantil.
(4) Vamos agora criar uma nova coluna no dataset monthly através
de um condicional indicando se começou ou não a lavagem de
mãos.
data_de_inicio_lavagem = as.Date("1847-07-01")
lavagem <- monthly %>% mutate(lavagem_maos = ifelse(data > data_de_inicio_lavagem, "Depois", "Antes"))
lavagem
## # A tibble: 98 × 5
## data nascimentos mortes proporcao_mortes lavagem_maos
## <date> <dbl> <dbl> <dbl> <chr>
## 1 1841-01-01 254 37 0.146 Antes
## 2 1841-02-01 239 18 0.0753 Antes
## 3 1841-03-01 277 12 0.0433 Antes
## 4 1841-04-01 255 4 0.0157 Antes
## 5 1841-05-01 255 2 0.00784 Antes
## 6 1841-06-01 200 10 0.05 Antes
## 7 1841-07-01 190 16 0.0842 Antes
## 8 1841-08-01 222 3 0.0135 Antes
## 9 1841-09-01 213 4 0.0188 Antes
## 10 1841-10-01 236 26 0.110 Antes
## # ℹ 88 more rows
Comentários :: Com essa nova visualização,
conseguimos observar com melhor precisão o tanto que a lavagem de mãos
reduziu a proporção de mortes.
(6) Uma medida bem interessante e importante de se observar
antes e depois da lavagem das mãos, é exatamente a média. Portanto, o
que vou fazer é calcular a proporção média de óbitos antes e após a
lavagem das mãos a partir dos dados mensais do dataset monthly e
armazenar o resultado como um df 2x2. Posteriormente, irei plotar 2
gráficos para comparativo.
tabela_resumo_posicao <- lavagem %>% group_by(lavagem_maos) %>% summarize(proporcao_media_mortes = mean(proporcao_mortes))
head(tabela_resumo_posicao)
## # A tibble: 2 × 2
## lavagem_maos proporcao_media_mortes
## <chr> <dbl>
## 1 Antes 0.103
## 2 Depois 0.0215
colunas_grafico <- tabela_resumo_posicao %>% ggplot(aes(x = lavagem_maos, y = proporcao_media_mortes, fill = lavagem_maos)) + geom_col(color = "black") + labs(title = "Proporção média de mortes antes e depois da lavagem de mãos.", x = "Lavagem de mãos", y = "Proporção média")
colunas_grafico

setores_grafico <- tabela_resumo_posicao %>% ggplot(aes(x = " ", y = proporcao_media_mortes, fill = lavagem_maos)) + geom_bar(stat = "identity", width = 1, color = "black") + coord_polar("y") + labs(title = "Proporção média de mortes antes e depois da lavagem de mãos") + theme_minimal()
setores_grafico

Comentários :: Com o resultado da tabela e dos
gráficos gerados, podemos observar que a proporção média de mortes
também diminuiu drasticamente graças ao Dr. Ignaz Semmelweis. Observe
que com a tabela gerada nós já podiamos tirar uma conclusão. Porém,
quando apresentamos o resultado através de uma visualização gráfica, as
pessoas que estão observando o resultado, independentemente do nível de
experiência em análise de dados, conseguem compreender melhor e mais
rapidamente o significado, se foi maior ou menor e etc apenas com uma
observação rápida.
(7) O poder do Boxplot
Comentários :: Com as informações do boxplot,
podemos observar que :
– > A mediana(Q2), o Q1 e o Q3 da proporção de mortes depois
da lavagem de mãos são bem inferiores quando comparados com a mediana,
Q1 e Q3 de antes da lavagem de mãos.
– > O intervalo interquartil (IQR) da proporção de mortes
depois da lavagem de mãos também é bastante inferior quando comparado
com o de antes da lavagem.
– > Antes da lavagem das mãos também conseguimos observar um
valor outlier. (Ou seja, em dado momento a proporção de mortes antes da
lavagem das mãos foi excepcionalmente alta. Também pode acontecer de ser
um erro nos dados, como uma entrada incorreta no processo de coleta dos
dados.)