R/desenha-crescimento-ras.R

Defines functions desenha_crescimento_ras

Documented in desenha_crescimento_ras

#' @title Desenha dados de casos por semana das 6 ras com maior crescimento neste quesito
#'
#' @description Avalia os dados de casos e obitos do MS e um grafico com o crescimento dos dados semanais
#'
#' @param dados data.table com os dados de crescimento de casos e obitos semanais por data de cadastro
#'
#' @return uma lista com grafico de crescimento e obito das seis ras com maior crescimento de casos e obitos
#'
#' @import ggplot2


desenha_crescimento_ras = function(dados){
  # Conformando ao tipo data.table
  dados = transforma_dt(dados)

  # Definindo dados de casos
  dados_casos = dados[!is.na(dados$fator_casos),]

  # Definindo dados de obitos
  dados_obitos = dados[!is.na(dados$fator_obitos),]

  # Grafico crescimento casos
  graf_crescimento_ra_casos = ggplot(dados_casos, aes(x = fator, y = casos)) +
    geom_col(fill = "#5277a4") +
    geom_label(aes(label = casos, y = casos + 0.1 * max(casos))) +
    facet_wrap(~fator_casos, dir = "h") +
    theme_bw(base_size = 12) +
    labs(x = "Semana", y = "Casos por semana", title = "", fill = "Data") +
    theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1),
          text = element_text(size = 20))

  # Grafico crescimento obitos
  graf_crescimento_ra_obitos = ggplot(dados_obitos, aes(x = fator, y = obitos)) +
    geom_col(fill = "#e25658") +
    geom_label(aes(label = obitos, y = obitos + 0.8)) +
    facet_wrap(~fator_obitos, dir = "h") +
    theme_bw(base_size = 12) +
    labs(x = "Semana", y = "Óbitos por semana", title = "", fill = "Data") +
    theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1),
          text = element_text(size = 20))

  # Define resultado
  resultado = list(
    graf_crescimento_ra_casos = graf_crescimento_ra_casos,
    graf_crescimento_ra_obitos = graf_crescimento_ra_obitos)

  # Retorna resultado
  return(resultado)
}
mellohenrique/codeplan.boletim2 documentation built on March 20, 2022, 3:15 a.m.