112.86
19/09/21
06/21
111
4.16
09/04/21
04/21
111
Vacinação da População Feminina de Sorocaba1 | |
---|---|
Fonte: Ministério da Saúde 2020 e basedosdados.org | |
% com 1ª dose aplicada | % com 2ª dose aplicada |
1
Alguns valores são acima de 100% pois a pop. utilizada para cálculo se trata de uma estimativa
|
Vacinação da População Masculina de Sorocaba1 | |
---|---|
Fonte: Ministério da Saúde 2020 e basedosdados.org | |
% com 1ª dose aplicada | % com 2ª dose aplicada |
1
Alguns valores são acima de 100% pois a pop. utilizada para cálculo se trata de uma estimativa
|
Vacinação da População de Sorocaba1 | |
---|---|
Fonte: Ministério da Saúde 2020 e basedosdados.org | |
% com 1ª dose aplicada | % com 2ª dose aplicada |
1
Alguns valores são acima de 100% pois a pop. utilizada para cálculo se trata de uma estimativa
|
84.12%
78.69%
92.36%
85.9%
Aqui estão presentes alguns termos e conceitos que podem não ser acessíveis para pessoas sem o hábito da leitura, criação e/ou interpretação de textos e relatórios estatísticos. Acha que faltam explicações? Envie um e-mail para victordogo@gmail.com sobre sua dúvida e, a depender do caso, ela será adicionada aqui!
Atualizado pela última vez em 13/09/22 às 13:26 BRT.
Este é o dashboard “A COVID-19 em Sorocaba”. Ele é o resultado do Projeto de Extensão “Análise e Visualização dos Dados da Pandemia na Cidade de Sorocaba”, sob fomento da ProEx - Pró Reitoria de Extensão da UFSCar - Universidade Federal de São Carlos.
Ele é realizado por Victor Alves Dogo Martins (aluno do DEs - Departamento de Estatística da UFSCar - Campus São Carlos), sob orientação da Profa. Dra. Andreza Aparecida Palma (vinculada ao DEc - Departamento de Economia da UFSCar - Campus Sorocaba).
O objetivo deste projeto é fornecer um dashboard conciso e de fácil compreensão com dados relativos à pandemia da COVID-19 na cidade de Sorocaba - SP. Estes dados, ao longo do tempo, consistem em casos confirmados, mortes confirmadas e em esforços da campanha de vacinação na cidade.
Todos os dados, gráficos e formatação do dashboard são construídos com auxílio da linguagem de programação estatística R:
{flexdashboard}
;{ggplot2}
.
Depois, são transformados em versões interativas com auxílio do pacote
{plotly}
;Quaisquer dúvidas, críticas, elogios e sugestões podem ser encaminhadas por e-mail para victordogo@gmail.com .
Você pode visualizar o repositório deste site em victordogo/covid19-sorocaba no GitHub.
OBS: POR CONTA DO APAGÃO DOS DADOS DO MINISTÉRIO DA SAÚDE, CERTAS INFORMAÇÕES CHEGAM COM ATRASO OU NÃO ESTÃO DISPONÍVEIS NO MOMENTO.
Referências:
---
title: "A COVID-19 em Sorocaba"
bibliography: refs/ref.bib
csl: refs/abnt.csl
nocite: '@*'
output:
flexdashboard::flex_dashboard:
logo: images/logo-proex-ufscar.png
favicon: images/icon.png
source_code: embed
orientation: columns
vertical_layout: fill
---
```{r setup, include=FALSE}
library(flexdashboard)
# Lendo dados
covid_sorocaba <- readr::read_rds("data/covid_sorocaba.rds")
covid_sp <- readr::read_rds("data/covid_sp.rds")
vacina_scb <- readr::read_rds("data/vacina_scb.rds")
# Icones de apresentacao
htmltools::tagList(fontawesome::fa_html_dependency())
```
```{css info-style, echo = FALSE}
.chart-shim {
overflow-y: scroll;
}
```
Casos
================================================================
Column {.tabset}
-------------------------------------
### Casos Diários
```{r}
# Casos Diários de sorocaba com media movel de 7 e 14 dias
casos_diarios <- covid_sorocaba |>
dplyr::rename(`Dia`=date,
`Casos Diários`=new_confirmed) |>
dplyr::mutate(
`Média Móvel - 7 dias`=zoo::rollmean(`Casos Diários`,k=7,na.pad = TRUE),
`Média Móvel - 14 dias`=zoo::rollmean(`Casos Diários`,k=14,na.pad = TRUE)
) |>
ggplot2::ggplot(ggplot2::aes(y=`Casos Diários`,x=`Dia`))+
ggplot2::geom_line(ggplot2::aes(fill="Casos Diários"),alpha=0.3)+
ggplot2::geom_line(
ggplot2::aes(y=`Média Móvel - 7 dias`,
fill="Média Móvel - 7 dias"),
color="red")+
ggplot2::geom_line(
ggplot2::aes(y=`Média Móvel - 14 dias`,
fill="Média Móvel - 14 dias"),
color="blue")+
ggplot2::labs(
title="Casos Diários na cidade de Sorocaba \ndevido à COVID-19"
)+
ggplot2::scale_y_continuous(breaks = seq(0,1000,100))+
ggplot2::theme_minimal()
casos_diarios |> plotly::ggplotly()
```
### Casos Acumulados
```{r}
# Casos Acumulados de sorocaba comparada com cidades da regiao
casos_acumulados <- covid_sp |>
dplyr::group_by(city) |>
dplyr::rename(`Dia`=date,
`Total de Casos`=last_available_confirmed,
`Cidade`=city) |>
ggplot2::ggplot(ggplot2::aes(y=`Total de Casos`,x=`Dia`,
color=`Cidade`))+
ggplot2::geom_line()+
ggplot2::labs(
title="Casos Acumulados na cidade de Sorocaba \ncomparada com outras cidades"
)+
ggplot2::theme_minimal()
casos_acumulados |> plotly::ggplotly()
```
Column {data-width=150}
-------------------------------------
###
```{r}
# Casos por mil habitantes
((max(covid_sorocaba$last_available_confirmed)/687357)*1000) |>
round(digits=2) |>
flexdashboard::valueBox(
caption="casos por mil habitantes",
icon="fas fa-viruses"
)
```
###
```{r}
# Data com mais casos
covid_sorocaba |>
dplyr::filter(
new_confirmed==max(covid_sorocaba$new_confirmed)
) |>
dplyr::select(date) |>
dplyr::pull() |>
format("%d/%m/%y") |>
flexdashboard::valueBox(
caption="data com maior número de casos",
icon="far fa-calendar-alt"
)
```
###
```{r}
# Mês com mais casos
covid_sorocaba |>
dplyr::mutate(
month=lubridate::floor_date(date, "month")
)|>
dplyr::group_by(month) |>
dplyr::summarise(
total_cases=sum(new_confirmed)
) |>
dplyr::filter(
total_cases==max(total_cases)
) |>
dplyr::select(month) |>
dplyr::pull() |>
format("%m/%y") |>
flexdashboard::valueBox(
caption="mês com maior número de casos",
icon="far fa-calendar-alt"
)
```
###
```{r}
# Dias consecutivos sem diagnósticos
dias_consec_casos <- covid_sorocaba |>
dplyr::mutate(
Contagem= stats::ave(new_confirmed,
data.table::rleid(new_confirmed), FUN=seq_along)
) |>
dplyr::filter(
new_confirmed==0
) |>
dplyr::select(Contagem)
dias_consec_casos |>
dplyr::slice_tail() |>
dplyr::pull() |>
flexdashboard::valueBox(
caption="dias consecutivos sem casos",
icon= "fas fa-check-circle",
color="success"
)
```
### Informações
* Os dados referentes aos contágios foram retirados do site [brasil.io](https://brasil.io/dataset/covid19/). Para mais informações sobre a manipulação deles, acesse o [repositório do dashboard no github](https://github.com/victordogo/covid19-sorocaba/tree/master/data-raw);
* Alguma dúvida? Envie um e-mail para victordogo@gmail.com ou acesse a aba ["Glossário"](#glossário);
* **Atualizado pela última vez em `r format(Sys.Date(), '%d/%m/%y')` às `r format(Sys.time(), '%R')` BRT.**
Mortalidade
================================================================
Column {.tabset}
-------------------------------------
### Mortes Diárias
```{r}
# Mortes diarias de sorocaba com media movel de 7 e 14 dias
mortes_diarias <- covid_sorocaba |>
dplyr::rename(`Dia`=date,
`Mortes Diárias`=new_deaths) |>
dplyr::mutate(
`Média Móvel - 7 dias`=zoo::rollmean(`Mortes Diárias`,k=7,na.pad = TRUE),
`Média Móvel - 14 dias`=zoo::rollmean(`Mortes Diárias`,k=14,na.pad = TRUE)
) |>
ggplot2::ggplot(ggplot2::aes(y=`Mortes Diárias`,x=`Dia`))+
ggplot2::geom_line(ggplot2::aes(fill="Mortes Diárias"),alpha=0.3)+
ggplot2::geom_line(
ggplot2::aes(y=`Média Móvel - 7 dias`,
fill="Média Móvel - 7 dias"),
color="red")+
ggplot2::geom_line(
ggplot2::aes(y=`Média Móvel - 14 dias`,
fill="Média Móvel - 14 dias"),
color="blue")+
ggplot2::labs(
title="Mortes Diárias na cidade de Sorocaba \ncausadas pela COVID-19"
)+
ggplot2::scale_y_continuous(breaks = seq(0,85,5))+
ggplot2::theme_minimal()
mortes_diarias |> plotly::ggplotly()
```
### Mortes Acumuladas
```{r}
# Mortes acumuladas de sorocaba comparada com cidades da regiao
mortes_acumuladas <- covid_sp |>
dplyr::group_by(city) |>
dplyr::rename(`Dia`=date,
`Total de Mortes`=last_available_deaths,
`Cidade`=city) |>
ggplot2::ggplot(ggplot2::aes(y=`Total de Mortes`,x=`Dia`,
color=`Cidade`))+
ggplot2::geom_line()+
ggplot2::labs(
title="Mortes Acumuladas na cidade de Sorocaba \ncomparada com outras cidades"
)+
ggplot2::theme_minimal()
mortes_acumuladas |> plotly::ggplotly()
```
Column {data-width=150}
-------------------------------------
###
```{r}
# Mortes por mil habitantes
((max(covid_sorocaba$last_available_deaths)/687357)*1000) |>
round(digits=2) |>
flexdashboard::valueBox(
caption="mortes por mil habitantes",
icon="fas fa-viruses"
)
```
###
```{r}
# Data com mais mortes
covid_sorocaba |>
dplyr::filter(
new_deaths==max(covid_sorocaba$new_deaths)
) |>
dplyr::select(date) |>
dplyr::pull() |>
format("%d/%m/%y") |>
flexdashboard::valueBox(
caption="data com maior número de mortes",
icon="far fa-calendar-alt"
)
```
###
```{r}
# Mês com mais mortes
covid_sorocaba |>
dplyr::mutate(
month=lubridate::floor_date(date, "month")
)|>
dplyr::group_by(month) |>
dplyr::summarise(
total_deaths=sum(new_deaths)
) |>
dplyr::filter(
total_deaths==max(total_deaths)
) |>
dplyr::select(month) |>
dplyr::pull() |>
format("%m/%y") |>
flexdashboard::valueBox(
caption="mês com maior número de mortes",
icon="far fa-calendar-alt"
)
```
###
```{r}
# Dias consecutivos sem mortes
dias_consec_deaths <- covid_sorocaba |>
dplyr::mutate(
Contagem= stats::ave(new_deaths,
data.table::rleid(new_deaths), FUN=seq_along)
) |>
dplyr::filter(
new_deaths==0
) |>
dplyr::select(Contagem)
dias_consec_deaths |>
dplyr::slice_tail() |>
dplyr::pull() |>
flexdashboard::valueBox(
caption="dias consecutivos sem mortes",
icon= "fas fa-check-circle",
color="success"
)
```
### Informações
* Os dados referentes à mortalidade foram retirados do site [brasil.io](https://brasil.io/dataset/covid19/). Para mais informações sobre a manipulação deles, acesse o [repositório do dashboard no github](https://github.com/victordogo/covid19-sorocaba/tree/master/data-raw);
* Alguma dúvida? Envie um e-mail para victordogo@gmail.com ou acesse a aba ["Glossário"](#glossário);
* **Atualizado pela última vez em `r format(Sys.Date(), '%d/%m/%y')` às `r format(Sys.time(), '%R')` BRT.**
Vacinação
================================================================
Column {.tabset}
-------------------------------------
### Vacinação da Cidade de Sorocaba - Gráfico
```{r}
# Vacinação na cidade de sorocaba
cores <- c("População estimada (Masculino)" = "#ffc3a4",
"1ª Dose (M)" = "#EE5A45",
"2ª Dose ou Única (M)" = "#790000",
"População estimada (Feminino)" = "#7bd1cb",
"1ª Dose (F)" = "#1E8F89",
"2ª Dose ou Única (F)" = "#00322f")
grafico_vacinacao <- vacina_scb |>
ggplot2::ggplot(ggplot2::aes(x = grupo_idade, y=n_grafico))+
ggplot2::geom_bar(data=vacina_scb[vacina_scb$sexo == "F",] |>
dplyr::distinct(populacao_grafico, .keep_all = TRUE),
ggplot2::aes(x = grupo_idade,
y = populacao_grafico,
fill = "População estimada (Feminino)"),
stat = "identity")+
ggplot2::geom_bar(data=vacina_scb[vacina_scb$sexo == "M",] |>
dplyr::distinct(populacao_grafico, .keep_all = TRUE),
ggplot2::aes(x = grupo_idade,
y = populacao_grafico,
fill = "População estimada (Masculino)"),
stat = "identity")+
ggplot2::geom_bar(data=vacina_scb[vacina_scb$sexo == "F",] |>
dplyr::filter(dose_vacina == '1'),
ggplot2::aes(fill = "1ª Dose (F)"),
stat = "identity")+
ggplot2::geom_bar(data=vacina_scb[vacina_scb$sexo == "M",] |>
dplyr::filter(dose_vacina == '1'),
ggplot2::aes(fill = "1ª Dose (M)"),
stat = "identity")+
ggplot2::geom_bar(data=vacina_scb[vacina_scb$sexo == "F",] |>
dplyr::filter(dose_vacina == '2'),
ggplot2::aes(fill = "2ª Dose ou Única (F)"),
stat = "identity")+
ggplot2::geom_bar(data=vacina_scb[vacina_scb$sexo == "M",] |>
dplyr::filter(dose_vacina == '2'),
ggplot2::aes(fill = "2ª Dose ou Única (M)"),
stat = "identity")+
ggplot2::annotate("text",
x="0-4 anos", y=5000,
label = "Feminino",
hjust = 0,
fontface = "bold"
)+
ggplot2::annotate("text",
x="0-4 anos", y=-5000,
label = "Masculino",
hjust = 1,
fontface = "bold"
)+
ggplot2::labs(x="Faixa Etária",y="Vacinados",
title="Vacinação na cidade de Sorocaba")+
ggplot2::scale_y_continuous(
breaks=c(-30000,-25000,-20000, -15000, -10000, -5000, 0,
5000, 10000, 15000, 20000, 25000, 30000),
labels = c(
"-30000"="30.000",
"-25000"="",
"-20000"="20.000",
"-15000"="",
"-10000"="10.000",
"-5000"="",
"0"="0",
"5000"="",
"10000"="10.000",
"15000"="",
"20000"="20.000",
"25000"="",
"30000"="30.000"
)
)+
ggplot2::scale_fill_manual(values = cores,
limits = c("População estimada (Masculino)",
"1ª Dose (M)",
"2ª Dose ou Única (M)",
"2ª Dose ou Única (F)",
"1ª Dose (F)",
"População estimada (Feminino)"))+
ggplot2::guides(fill=ggplot2::guide_legend(nrow=1,byrow=TRUE))+
ggplot2::theme_minimal()+
ggplot2::theme(
plot.title = ggplot2::element_text(hjust = 0.5, size = 16),
plot.subtitle = ggplot2::element_text(hjust = 0.5),
axis.text = ggplot2::element_text(size = 12),
axis.title = ggplot2::element_text(size = 12),
plot.background = ggplot2::element_rect(fill = "white", color = "white")
)+
ggplot2::coord_flip()
grafico_vacinacao |> plotly::ggplotly()
```
### Tabela (População Feminina)
```{r}
# Apresentando porcentagems divididas por faixa etaria em tabela
# (pop. feminina)
# Tabela da primeira dose
primeira_dose_f <- vacina_scb |>
dplyr::filter(dose_vacina==1,
sexo=="F") |>
tidyr::drop_na() |>
dplyr::mutate(`Porcentagem`=paste0(porc, "%"),
`Grupo Etário`=grupo_idade) |>
dplyr::arrange(grupo_idade) |>
dplyr::ungroup() |>
dplyr::select(`Grupo Etário`,`Porcentagem`) |>
gt::gt() |>
gt::as_raw_html()
# Tabela da segunda dose
segunda_dose_f <- vacina_scb |>
dplyr::filter(dose_vacina==2,
sexo=="F") |>
tidyr::drop_na() |>
dplyr::mutate(`Porcentagem`=paste0(porc, "%"),
`Grupo Etário`=grupo_idade) |>
dplyr::arrange(grupo_idade) |>
dplyr::ungroup() |>
dplyr::select(`Grupo Etário`,`Porcentagem`) |>
gt::gt() |>
gt::as_raw_html()
# Apresentando as duas tabelas
data.frame(primeira_dose_f,segunda_dose_f) |>
gt::gt() |>
gt::fmt_markdown(columns=dplyr::everything()) |>
gt::cols_label(primeira_dose_f="% com 1ª dose aplicada",
segunda_dose_f="% com 2ª dose aplicada") |>
gt::tab_footnote("Alguns valores são acima de 100% pois a pop. utilizada para cálculo se trata de uma estimativa",
locations = gt::cells_title()) |>
gt::tab_header(
title=gt::md("**Vacinação da População Feminina de Sorocaba**"),
subtitle=gt::md("Fonte: Ministério da Saúde 2020 e basedosdados.org")
)
```
### Tabela (População Masculina)
```{r}
# Apresentando porcentagems divididas por faixa etaria em tabela
# (pop. masculina)
# Tabela da primeira dose
primeira_dose_m <- vacina_scb |>
dplyr::filter(dose_vacina==1,
sexo=="M") |>
tidyr::drop_na() |>
dplyr::mutate(`Porcentagem`=paste0(porc, "%"),
`Grupo Etário`=grupo_idade) |>
dplyr::arrange(grupo_idade) |>
dplyr::ungroup() |>
dplyr::select(`Grupo Etário`,`Porcentagem`) |>
gt::gt() |>
gt::as_raw_html()
# Tabela da segunda dose
segunda_dose_m <- vacina_scb |>
dplyr::filter(dose_vacina==2,
sexo=="M") |>
tidyr::drop_na() |>
dplyr::mutate(`Porcentagem`=paste0(porc, "%"),
`Grupo Etário`=grupo_idade) |>
dplyr::arrange(grupo_idade) |>
dplyr::ungroup() |>
dplyr::select(`Grupo Etário`,`Porcentagem`) |>
gt::gt() |>
gt::as_raw_html()
# Apresentando as duas tabelas
data.frame(primeira_dose_m,segunda_dose_m) |>
gt::gt() |>
gt::fmt_markdown(columns=dplyr::everything()) |>
gt::cols_label(primeira_dose_m="% com 1ª dose aplicada",
segunda_dose_m="% com 2ª dose aplicada") |>
gt::tab_footnote("Alguns valores são acima de 100% pois a pop. utilizada para cálculo se trata de uma estimativa",
locations = gt::cells_title()) |>
gt::tab_header(
title=gt::md("**Vacinação da População Masculina de Sorocaba**"),
subtitle=gt::md("Fonte: Ministério da Saúde 2020 e basedosdados.org")
)
```
### Tabela (População Geral)
```{r}
# Apresentando porcentagems divididas por faixa etaria em tabela
# (pop. geral)
# Tabela da primeira dose
primeira_dose <- vacina_scb |>
dplyr::filter(dose_vacina==1) |>
tidyr::drop_na() |>
dplyr::group_by(grupo_idade) |>
dplyr::summarise(populacao=sum(populacao),
n=sum(n),
porc=round(n/populacao * 100,digits=2)) |>
dplyr::mutate(`Porcentagem`=paste0(porc, "%"),
`Grupo Etário`=grupo_idade) |>
dplyr::arrange(grupo_idade) |>
dplyr::ungroup() |>
dplyr::select(`Grupo Etário`,`Porcentagem`) |>
gt::gt() |>
gt::as_raw_html()
# Tabela da segunda dose
segunda_dose <- vacina_scb |>
dplyr::filter(dose_vacina==2) |>
tidyr::drop_na() |>
dplyr::group_by(grupo_idade) |>
dplyr::summarise(populacao=sum(populacao),
n=sum(n),
porc=round(n/populacao * 100,digits=2)) |>
dplyr::mutate(`Porcentagem`=paste0(porc, "%"),
`Grupo Etário`=grupo_idade) |>
dplyr::arrange(grupo_idade) |>
dplyr::ungroup() |>
dplyr::select(`Grupo Etário`,`Porcentagem`) |>
gt::gt() |>
gt::as_raw_html()
# Apresentando as duas tabelas
data.frame(primeira_dose,segunda_dose) |>
gt::gt() |>
gt::fmt_markdown(columns=dplyr::everything()) |>
gt::cols_label(primeira_dose="% com 1ª dose aplicada",
segunda_dose="% com 2ª dose aplicada") |>
gt::tab_footnote("Alguns valores são acima de 100% pois a pop. utilizada para cálculo se trata de uma estimativa",
locations = gt::cells_title()) |>
gt::tab_header(
title=gt::md("**Vacinação da População de Sorocaba**"),
subtitle=gt::md("Fonte: Ministério da Saúde 2020 e basedosdados.org")
)
```
Column {data-width=150}
-------------------------------------
###
```{r}
# Porcentagem da população com 1 dose
vacina_scb |>
tidyr::drop_na() |>
dplyr::group_by(dose_vacina) |>
dplyr::filter(dose_vacina==1) |>
dplyr::summarise(porc_tot=(sum(n)/sum(populacao))*100) |>
dplyr::select(porc_tot) |>
dplyr::pull() |>
round(2) |>
paste0("%") |>
flexdashboard::valueBox(
caption="da população com a 1ª dose",
icon= "fas fa-syringe",
color="success"
)
```
###
```{r}
# Porcentagem da população com 2 dose
vacina_scb |>
tidyr::drop_na() |>
dplyr::group_by(dose_vacina) |>
dplyr::filter(dose_vacina==2) |>
dplyr::summarise(porc_tot=(sum(n)/sum(populacao))*100) |>
dplyr::select(porc_tot) |>
dplyr::pull() |>
round(2) |>
paste0("%") |>
flexdashboard::valueBox(
caption="da população com a 2ª dose",
icon= "fas fa-syringe",
color="success"
)
```
###
```{r}
# Porcentagem de +15 anos com 1 dose
vacina_scb[-c(1:7),] |>
tidyr::drop_na() |>
dplyr::group_by(dose_vacina) |>
dplyr::filter(dose_vacina==1) |>
dplyr::summarise(porc_tot=(sum(n)/sum(populacao))*100) |>
dplyr::select(porc_tot) |>
dplyr::pull() |>
round(2) |>
paste0("%") |>
flexdashboard::valueBox(
caption="da população acima de 15 anos com a 1ª dose",
icon= "fas fa-syringe",
color="success"
)
```
###
```{r}
# Porcentagem de +15 anos com 1 dose
vacina_scb[-c(1:7),] |>
tidyr::drop_na() |>
dplyr::group_by(dose_vacina) |>
dplyr::filter(dose_vacina==2) |>
dplyr::summarise(porc_tot=(sum(n)/sum(populacao))*100) |>
dplyr::select(porc_tot) |>
dplyr::pull() |>
round(2) |>
paste0("%") |>
flexdashboard::valueBox(
caption="da população acima de 15 anos com a 2ª dose",
icon= "fas fa-syringe",
color="success"
)
```
### Informações
* Os dados referentes à vacinação foram retirados do site [basedosdados.org](https://basedosdados.org/dataset/br-ms-vacinacao-covid19). Para mais informações sobre a manipulação deles, acesse o [repositório do dashboard no github](https://github.com/victordogo/covid19-sorocaba/tree/master/data-raw);
* O gráfico de vacinação foi inspirado no trabalho de Bruno Mioto no [seguinte post;](https://medium.com/basedosdados/analisando-dados-de-vacina%C3%A7%C3%A3o-contra-covid-19-com-a-bd-49fe3db8c7f4)
* Alguma dúvida? Envie um e-mail para victordogo@gmail.com ou acesse a aba ["Glossário"](#glossário);
* **Atualizado pela última vez em `r format(Sys.Date(), '%d/%m/%y')` às `r format(Sys.time(), '%R')` BRT.**
Glossário
======================================================
Aqui estão presentes alguns termos e conceitos que podem não ser acessíveis para pessoas sem o hábito da leitura, criação e/ou interpretação de textos e relatórios estatísticos. Acha que faltam explicações? Envie um e-mail para victordogo@gmail.com sobre sua dúvida e, a depender do caso, ela será adicionada aqui!
* **Casos ou Mortes Diárias:** são o número de casos diagnosticados ou de mortes ocorridas **única e exclusivamente** num determinado dia;
* **Casos ou Mortes Acumuladas:** são o número de casos diagnosticados ou de mortes ocorridas **até** um determinado dia. Exemplificando, se no dia 1 temos 3 mortes diárias, no dia 2 temos 7 mortes diárias e no dia 3 temos 5 mortes diárias, o número de mortes acumuladas do dia 3 é $3+7+5 = 15$ mortes;
* **Estimativa Populacional:** temos no Brasil que os Censos Demográficos ocorrem (pelo menos em teoria) a cada 10 anos. No entanto, é de interesse de entidades governamentais terem uma ideia do tamanho da população no período entre censos também: para isso, instituições como o IBGE utilizam técnicas para **estimar** o tamanho da população. Não é o valor exato da população, mas uma aproximação satisfatória o bastante para que norteie políticas públicas e outras questões;
* **Médias Móveis:** são uma maneira de suavizar a curva de um determinado banco de dados para que possamos analisar a tendência dos valores observados sem que as variações atrapalhem a análise. São calculadas de acordo com uma ordem $k$ (em nosso caso, utilzamos $k$ = 7 e 14 dias): faz-se a média aritmética simples de valores no ponto $t$ e todos os $t-(k-1)$ pontos anteriores. Se a linha das médias móveis está em queda, então existem indícios de que a variável em questão (mortes ou casos diários) está em queda também;
* **Ocorrências a cada mil habitantes:** é um indicador bastante útil para termos ideia do quão boa ou ruim é a situação da cidade. Exemplificando, pensemos numa cidade que possui 10 mortes para cada mil habitantes: se dividirmos por dez, temos 1 morte para cada cem habitantes (ou 1% de mortes proporcionais à população); se dividirmos por cem, temos que, para cada dez pessoas, 0.1 morrem devido à doença (obviamente para fins de análise: não é possível que um décimo de pessoa morra!).
Sobre
======================================================
**Atualizado pela última vez em `r format(Sys.Date(), '%d/%m/%y')` às `r format(Sys.time(), '%R')` BRT.**
Este é o dashboard "A COVID-19 em Sorocaba". Ele é o resultado do Projeto de Extensão "Análise e Visualização dos Dados da Pandemia na Cidade de Sorocaba", sob fomento da ProEx - Pró Reitoria de Extensão da UFSCar - Universidade Federal de São Carlos.
Ele é realizado por Victor Alves Dogo Martins (aluno do DEs - Departamento de Estatística da UFSCar - Campus São Carlos), sob orientação da Profa. Dra. Andreza Aparecida Palma (vinculada ao DEc - Departamento de Economia da UFSCar - Campus Sorocaba).
O objetivo deste projeto é fornecer um dashboard conciso e de fácil compreensão com dados relativos à pandemia da COVID-19 na cidade de Sorocaba - SP. Estes dados, ao longo do tempo, consistem em casos confirmados, mortes confirmadas e em esforços da campanha de vacinação na cidade.
Todos os dados, gráficos e formatação do dashboard são construídos com auxílio da linguagem de programação estatística R:
* O dashboard é construído com o auxílio do pacote [`{flexdashboard}`](https://pkgs.rstudio.com/flexdashboard/);
* Os dados são tratados com auxílio dos pacotes do [tidyverse](https://www.tidyverse.org/);
* Os gráficos são produzidos, em suas versões estáticas, com auxílio do pacote [`{ggplot2}`](https://ggplot2.tidyverse.org/). Depois, são transformados em versões interativas com auxílio do pacote [`{plotly}`](https://plotly.com/r/);
* O site é publicado com auxílio do GitHub Pages, com automatização da leitura e tratamento diário das bases de dados através do GitHub Actions;
* As bases de dados são retiradas dos sites brasil.io (no caso de dados relativos a casos e mortes) e basedosdados.org (no caso de dados da vacinação). Os dados em si não são criados por eles, mas eles constituem uma **importante parte deste trabalho** devido ao fato de disponibilizarem diversas bases ora bagunçadas e difíceis de trabalhar em formatos muito mais amigáveis e que agilizam o processo de análise;
* **Próximos passos:** o intuito futuro deste site é ser atualizado automaticamente através de ferramentas de integração contínua (como o GitHub Actions).
Quaisquer dúvidas, críticas, elogios e sugestões podem ser encaminhadas por e-mail para victordogo@gmail.com .
Você pode visualizar o repositório deste site em [victordogo/covid19-sorocaba](https://github.com/victordogo/covid19-sorocaba) no GitHub.
**OBS: POR CONTA DO APAGÃO DOS DADOS DO MINISTÉRIO DA SAÚDE, CERTAS INFORMAÇÕES CHEGAM COM ATRASO OU NÃO ESTÃO DISPONÍVEIS NO MOMENTO.**
**Referências:**