knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  echo=FALSE, 
  warning=FALSE, 
  message=FALSE, 
  fig.height=8, 
  fig.width=10
)
library(covid19br)
library(tidyverse)
library(covid19br)
library(geobr)
library(cowplot)
library(knitr)
library(DT)

# Data for comparisons:
used_date  <- max(covid_br$date)

n_sus      <- covid_br %>% filter(date == used_date) %>% pull(suspected_cases)
n_des      <- covid_br %>% filter(date == used_date) %>% pull(not_confirmed_cases)
n_total    <- covid_br %>% filter(date == used_date) %>% pull(confirmed_cases)
n_death    <- covid_br %>% filter(date == used_date) %>% pull(deaths)

# raw data
tab_stat <- covid_states %>% filter(date == used_date) %>% 
  dplyr::select(Estado = state, "Casos suspeitos" = suspected_cases, 
         "Casos confirmados" = confirmed_cases,
         "Casos descartados" = not_confirmed_cases) %>% 
  arrange(Estado) %>% as.data.frame()

NOTAS:
As análises abaixo representam apenas o número de casos confirmados pelo Ministério da Saúde, portanto, não se pode concluir uma relação direta destes números com o número real de pessoas infectadas por covid-19.
Os resultados apresentados abaixo foram atualizados na data: r used_date

Síntese dos dados oficiais

Distribuição de casos de covid-19 no Brasil

covid <- covid_states %>% filter(date == used_date)
covid$confir_cat <- cut(covid$confirmed_cases, breaks = c(-Inf, 0, 5, 10, 100, Inf), include.lowest = TRUE,
                        c("zero","entre 1 e 5", "entre 6 e 10", "entre 11 e 100", "maior que 100"))

states2 <-left_join(map_states, covid, by = c("abbrev_state" = "state_ID"))

colors <- c("gray", '#ffffb2','#fecc5c','#fd8d3c','#f03b20','#bd0026')

g1 <- ggplot() +
  geom_sf(data = states2, aes(fill = confir_cat), color= "black", size=.15) +
  scale_fill_manual(values = colors, name = "") +
  theme_void(base_size = 16) +
  labs(title = "covid-19",
       subtitle = paste(n_total, "casos confirmados no Brasil"),
       caption = paste("Source: Ministério da Saúde | updated", used_date)) +
  theme( 
    plot.title = element_text(size = 18),
  plot.subtitle = element_text(size = 16),
  plot.caption = element_text(size = 12, hjust = 1)) 
g1

Controlando pelo tamanho da população

# Plot prediction maps
pop <- info_states %>% mutate(state_uid = as.factor(state_uid))
d2  <- left_join(x = covid_states, y = pop) %>% filter(date == used_date)

d2  %>% mutate(cases_p_1m = round((confirmed_cases / pop) * 10^6, digits = 3),
               cases_p_k2  = confirmed_cases / area,
               cases_p_hab_k2 = cases_p_1m/area) -> d3

states2 <-left_join(map_states, d3 %>% filter(date == used_date), by = c("abbrev_state" = "state_ID"))

# Plot map
g2 <- ggplot() +
  geom_sf(data = states2, aes(fill = cases_p_1m), color= "black", size=.15) +
  theme_minimal(base_size = 16) +
  labs(
       title = paste("Casos confirmados por 1 milhão de habitantes"),
       caption = paste("", used_date)) +
  theme(plot.title = element_text(size = 18),
    plot.subtitle = element_text(size = 16),
    plot.caption = element_text(size = 12, hjust = 1)) +
  scale_fill_continuous(type = "viridis", name = "")
g2

Dados brutos por estado

d3 %>% select(Estado = state, "Casos confirmados" = confirmed_cases, "Casos por 100 mil habitantes" = cases_p_1m) %>% 
  arrange(desc(`Casos confirmados`)) %>% 
  datatable(
    rownames = FALSE, options = list(pageLength = 30))


paternogbc/covid19br documentation built on March 17, 2021, 5:57 p.m.