From 1fb3ac9540257f6e4550908e84af91d00b1750db Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 07:49:05 -0500 Subject: [PATCH 01/54] fix: axis label Edad to Grupos de edad Ref: #154 --- R/plotting.R | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/R/plotting.R b/R/plotting.R index dd95a6fe..98d1afb4 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -708,7 +708,8 @@ plot_edad <- function(data_agrupada, ggplot2::geom_bar(width = 0.7, stat = "identity", fill = "#2274BB") + - ggplot2::labs(x = "\nEdad\n", y = paste0(etiqueta_casos, "\n"), + ggplot2::labs(x = "\nGrupo de edad\n", + y = paste0(etiqueta_casos, "\n"), caption = fuente_data) + ggplot2::theme_classic() + tema_sivirep() @@ -763,7 +764,7 @@ plot_edad_sex <- function(data_agrupada, fill = .data[[col_sex]])) + ggplot2::geom_bar(width = 0.7, stat = "identity") + - ggplot2::labs(x = "\nEdad\n", y = paste0(etiqueta_casos, "\n"), + ggplot2::labs(x = "\nGrupo de edad\n", y = paste0(etiqueta_casos, "\n"), caption = fuente_data) + ggplot2::theme_classic() + obtener_estetica_escala(escala = 2, nombre = "Sexo") + From 0163bfd005e88d0595210801a153c417fb03ecaf Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 09:08:09 -0500 Subject: [PATCH 02/54] feat(plot_per_etn): added porcentaje parameter and logic Ref: #154 --- R/checking_data.R | 9 +++++++-- man/agrupar_per_etn.Rd | 6 +++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/R/checking_data.R b/R/checking_data.R index 3bdb98f5..443dc709 100644 --- a/R/checking_data.R +++ b/R/checking_data.R @@ -842,6 +842,9 @@ agrupar_tipo_caso <- function(data_event, cols_tipo = "tip_cas") { #' @param cols_etn Un `character` (cadena de caracteres) con el nombre de #' las columna(s) que contiene(n) la pertenencia étnica en los datos de la #' enfermedad o evento; su valor por defecto es `"per_etn"` +#' @param porcentaje Un `boolean` (TRUE o FALSE) que indica +#' si se debe agregar una columna con el porcentaje de casos; +#' su valor por defecto es `TRUE` #' @return Un `data.frame` con los datos de la enfermedad o evento agrupados #' por la pertenencia étnica #' @examples @@ -850,7 +853,8 @@ agrupar_tipo_caso <- function(data_event, cols_tipo = "tip_cas") { #' agrupar_per_etn(data_event = data_limpia, #' cols_etn = "per_etn") #' @export -agrupar_per_etn <- function(data_event, cols_etn = "per_etn") { +agrupar_per_etn <- function(data_event, cols_etn = "per_etn", + porcentaje = TRUE) { stopifnot("El parametro data_event es obligatorio" = !missing(data_event), "El parametro data_event debe ser un data.frame" = is.data.frame(data_event), @@ -868,7 +872,8 @@ agrupar_per_etn <- function(data_event, cols_etn = "per_etn") { "labels_per_etn") etiquetas <- unlist(etiquetas) data_event_tipo <- agrupar_cols_casos(data_event, - nomb_cols = cols_etn) + nomb_cols = cols_etn, + porcentaje = porcentaje) data_event_tipo <- data_event_tipo %>% dplyr::mutate(nombre_per_etn = etiquetas[as.character(.data[[cols_etn[1]]])]) diff --git a/man/agrupar_per_etn.Rd b/man/agrupar_per_etn.Rd index 36ed29e4..11b426a5 100644 --- a/man/agrupar_per_etn.Rd +++ b/man/agrupar_per_etn.Rd @@ -4,7 +4,7 @@ \alias{agrupar_per_etn} \title{Agrupar por la pertenencia étnica} \usage{ -agrupar_per_etn(data_event, cols_etn = "per_etn") +agrupar_per_etn(data_event, cols_etn = "per_etn", porcentaje = TRUE) } \arguments{ \item{data_event}{Un `data.frame` que contiene los datos de la @@ -13,6 +13,10 @@ enfermedad o evento} \item{cols_etn}{Un `character` (cadena de caracteres) con el nombre de las columna(s) que contiene(n) la pertenencia étnica en los datos de la enfermedad o evento; su valor por defecto es `"per_etn"`} + +\item{porcentaje}{Un `boolean` (TRUE o FALSE) que indica +si se debe agregar una columna con el porcentaje de casos; +su valor por defecto es `TRUE`} } \value{ Un `data.frame` con los datos de la enfermedad o evento agrupados From 0fc85b829e1bef615a2f987fac82b1c711c9bca1 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 09:49:51 -0500 Subject: [PATCH 03/54] feat: increase decimal number of percentage Ref: #154 --- R/checking_data.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/checking_data.R b/R/checking_data.R index 443dc709..7ac819d8 100644 --- a/R/checking_data.R +++ b/R/checking_data.R @@ -166,7 +166,7 @@ agrupar_cols_casos <- function(data_event, dplyr::mutate(porcentaje = round(data_event_agrupada$casos / sum(data_event_agrupada$casos) * 100, - 1)) + 2)) } return(data_event_agrupada) } From 891dd1a51b0ba493fda2e8fee91536cf38b6bbfe Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 09:51:14 -0500 Subject: [PATCH 04/54] feat(plot_per_etn): added percentage parameter and label in bars Ref: #154 --- R/plotting.R | 11 +++++++++++ man/plot_per_etn.Rd | 10 +++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/R/plotting.R b/R/plotting.R index 98d1afb4..8211bbd0 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -1266,6 +1266,8 @@ plot_tipo_caso_years <- function(data_agrupada, #' @param col_etn Un `character` (cadena de carácteres) con el nombre de #' la columna que contiene la pertenencia étnica en los datos agrupados de #' la enfermedad o evento; su valor por defecto es `"per_etn"` +#' @param porcentaje Un `boolean` (TRUE/FALSE) que indica si los datos +#' tienen porcentajes; su valor por defecto es `TRUE` #' @param fuente_data Un `character` (cadena de caracteres) que contiene la #' leyenda o fuente de información de los datos; su valor por defecto es `NULL` #' @return Un `plot` o gráfico de la distribución de casos por la pertenencia @@ -1279,6 +1281,7 @@ plot_tipo_caso_years <- function(data_agrupada, #' @export plot_per_etn <- function(data_agrupada, col_etn = "per_etn", + porcentaje = TRUE, fuente_data = NULL) { stopifnot("El parametro data_agrupada debe ser un data.frame" = is.data.frame(data_agrupada), @@ -1317,6 +1320,14 @@ plot_per_etn <- function(data_agrupada, ggplot2::labs(x = paste0("\n", etiqueta_etn, "\n"), y = paste0(etiqueta_casos, "\n"), caption = fuente_data) + + { if (porcentaje) { + ggplot2::geom_text(ggplot2::aes(label = paste0(.data[["porcentaje"]], + "%\n")), + vjust = 0, + color = "black", + hjust = 0.5) + } + } + ggplot2::theme_classic() + obtener_estetica_escala(escala = escala, nombre = "Eventos\n") + ggplot2::scale_x_discrete(labels = etiquetas) + diff --git a/man/plot_per_etn.Rd b/man/plot_per_etn.Rd index ed5ed984..64c05ea5 100644 --- a/man/plot_per_etn.Rd +++ b/man/plot_per_etn.Rd @@ -4,7 +4,12 @@ \alias{plot_per_etn} \title{Generar gráfico de distribución de casos por la pertenencia étnica} \usage{ -plot_per_etn(data_agrupada, col_etn = "per_etn", fuente_data = NULL) +plot_per_etn( + data_agrupada, + col_etn = "per_etn", + porcentaje = TRUE, + fuente_data = NULL +) } \arguments{ \item{data_agrupada}{Un `data.frame` que contiene los datos de la @@ -14,6 +19,9 @@ enfermedad o evento agrupados por la pertenencia étnica} la columna que contiene la pertenencia étnica en los datos agrupados de la enfermedad o evento; su valor por defecto es `"per_etn"`} +\item{porcentaje}{Un `boolean` (TRUE/FALSE) que indica si los datos +tienen porcentajes; su valor por defecto es `TRUE`} + \item{fuente_data}{Un `character` (cadena de caracteres) que contiene la leyenda o fuente de información de los datos; su valor por defecto es `NULL`} } From 95a28debe44de413d00351aeafb0b135d1732d0d Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 12:03:40 -0500 Subject: [PATCH 05/54] feat(agrupar_area_geo): modified logic to get the distribution only for geo areas Ref: #154 & Ref: #146 --- R/checking_data.R | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/R/checking_data.R b/R/checking_data.R index 7ac819d8..9069e8b9 100644 --- a/R/checking_data.R +++ b/R/checking_data.R @@ -674,6 +674,42 @@ agrupar_mpio <- function(data_event, #' Agrupar por área geográfica #' #' Función que agrupa los datos de una enfermedad o evento por área +#' geográfica +#' @param data_event Un `data.frame` que contiene los datos de la +#' enfermedad o evento +#' @param col_area Un `character` (cadena de caracteres) con el nombre de +#' la columna que contiene las áreas geográficas en los datos de la enfermedad +#' o evento; su valor por defecto es `"area"` +#' @param porcentaje Un `boolean` (TRUE o FALSE) que indica si se debe +#' agregar una columna con el porcentaje de casos; su valor por +#' defecto es `FALSE` +#' @return Un `data.frame` con los datos de la enfermedad o evento agrupados +#' por área geográfica +#' @examples +#' data(dengue2020) +#' data_limpia <- limpiar_data_sivigila(data_event = dengue2020) +#' agrupar_area_geo(data_event = data_limpia, +#' col_area = "area", +#' porcentaje = FALSE) +#' @export +agrupar_area_geo <- function(data_event, + col_area = "area", + porcentaje = FALSE) { + stopifnot("El parametro data_event es obligatorio" = !missing(data_event), + "El parametro data_event debe ser un data.frame" = + is.data.frame(data_event), + "El parametro data_event no debe estar vacio" = + nrow(data_event) > 0, + "El parametro col_area debe ser una cadena de caracteres" + = is.character(col_area), + "El parametro porcentaje debe ser un booleano (TRUE o FALSE)" = + is.logical(porcentaje)) + data_event_area <- agrupar_cols_casos(data_event, + col_area) + data_event_area <- dplyr::arrange(data_event_area, + dplyr::desc(.data$casos)) + return(data_event_area) +} #' geográfica a nivel departamental o municipal #' @param data_event Un `data.frame` que contiene los datos de la #' enfermedad o evento From fb11c7c14eb6b21390ebf4169d8992ba44d4fc01 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 12:05:05 -0500 Subject: [PATCH 06/54] chore(agrupar_area_geo): updated description and examples Ref: #154 & Ref: #146 --- man/agrupar_area_geo.Rd | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/man/agrupar_area_geo.Rd b/man/agrupar_area_geo.Rd index 0e5994fe..0fdc0ecb 100644 --- a/man/agrupar_area_geo.Rd +++ b/man/agrupar_area_geo.Rd @@ -4,28 +4,15 @@ \alias{agrupar_area_geo} \title{Agrupar por área geográfica} \usage{ -agrupar_area_geo( - data_event, - dpto = NULL, - col_area = "area", - porcentaje = FALSE -) +agrupar_area_geo(data_event, col_area = "area", porcentaje = FALSE) } \arguments{ \item{data_event}{Un `data.frame` que contiene los datos de la enfermedad o evento} -\item{dpto}{Un `character` (cadena de caracteres) que contiene -el nombre del departamento; su valor por defecto es `NULL`; si se ingresa -un valor en este parámetro se procederá agrupar los datos por los -municipios del departamento y sus áreas geográficas; si no se -ingresa un valor en este parámetro validará si los datos ya están -filtrados por algún departamento, si no lo están generará la agrupación -por departamento} - \item{col_area}{Un `character` (cadena de caracteres) con el nombre de la columna que contiene las áreas geográficas en los datos de la enfermedad -o evento; su valor por defecto es `"cod_mun_o"`} +o evento; su valor por defecto es `"area"`} \item{porcentaje}{Un `boolean` (TRUE o FALSE) que indica si se debe agregar una columna con el porcentaje de casos; su valor por @@ -33,17 +20,16 @@ defecto es `FALSE`} } \value{ Un `data.frame` con los datos de la enfermedad o evento agrupados -por códigos de municipios y número de casos +por área geográfica } \description{ Función que agrupa los datos de una enfermedad o evento por área -geográfica a nivel departamental o municipal +geográfica } \examples{ data(dengue2020) data_limpia <- limpiar_data_sivigila(data_event = dengue2020) agrupar_area_geo(data_event = data_limpia, - dpto = "Antioquia", col_area = "area", porcentaje = FALSE) } From cecf4e07ed9f7a9fe508ca5e3bd4ca820648bc53 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 12:06:09 -0500 Subject: [PATCH 07/54] feat(plot_area_geo): modified logic to plot the distribution only for geo areas Ref: #154 & Ref: #146 --- R/plotting.R | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/R/plotting.R b/R/plotting.R index 8211bbd0..609a4095 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -943,6 +943,37 @@ plot_area_geo <- function(data_agrupada, fuente_data <- "Fuente: SIVIGILA, Instituto Nacional de Salud, Colombia" } + etiquetas_areas <- config::get(file = + system.file("extdata", + "config.yml", + package = "sivirep"), + "labels_geo_areas") + etiqueta_casos <- config::get(file = + system.file("extdata", + "config.yml", + package = "sivirep"), + "label_cases") + etiqueta_area_geo <- config::get(file = + system.file("extdata", + "config.yml", + package = "sivirep"), + "label_geo_area") + pos_leyenda <- ggplot2::theme(legend.position = "right") + plot_casos_area <- + ggplot2::ggplot(data_agrupada, + ggplot2::aes(x = .data[[col_area]], + y = .data[["casos"]])) + + ggplot2::geom_bar(stat = "identity", + fill = "#2274BB") + + ggplot2::labs(x = paste0("\n", etiqueta_area_geo), + y = paste0(etiqueta_casos, "\n"), + caption = fuente_data) + + ggplot2::theme_classic() + + tema_sivirep() + + ggplot2::scale_x_discrete(labels = etiquetas_areas) + + pos_leyenda + return(plot_casos_area) +} cols_geo_ocurrencia <- obtener_tip_ocurren_geo(nombre_event = data_agrupada[["nombre_evento"]][1]) From 8e4bcff3a12dfc979774f1847ea0c41656e6fa00 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 12:07:01 -0500 Subject: [PATCH 08/54] chore(plot_area_geo): removed dpto parameter of the example Ref: #154 & Ref: #146 --- R/plotting.R | 3 +-- man/plot_area_geo.Rd | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/R/plotting.R b/R/plotting.R index 609a4095..fc7c3a5e 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -927,8 +927,7 @@ plot_mpios <- function(data_agrupada, #' @examples #' data(dengue2020) #' data_limpia <- limpiar_data_sivigila(dengue2020) -#' data_agrupada <- agrupar_area_geo(data_event = data_limpia, -#' dpto = "Antioquia") +#' data_agrupada <- agrupar_area_geo(data_event = data_limpia) #' plot_area_geo(data_agrupada, #' col_area = "area") #' @export diff --git a/man/plot_area_geo.Rd b/man/plot_area_geo.Rd index 492a4db7..cfb6936f 100644 --- a/man/plot_area_geo.Rd +++ b/man/plot_area_geo.Rd @@ -26,8 +26,7 @@ Función que genera el gráfico de casos por área geográfica \examples{ data(dengue2020) data_limpia <- limpiar_data_sivigila(dengue2020) -data_agrupada <- agrupar_area_geo(data_event = data_limpia, - dpto = "Antioquia") +data_agrupada <- agrupar_area_geo(data_event = data_limpia) plot_area_geo(data_agrupada, col_area = "area") } From 49165e8a8c2b3c4e41ffb6c96d2bef41c75b4cf9 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 12:14:43 -0500 Subject: [PATCH 09/54] feat: used previous logic of agrupar_area_geo to create the function A new function called agrupar_top_area_geo has been created with the previous agrupar_area_geo logic and process. Ref: #154 & Ref: #146 --- R/checking_data.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/checking_data.R b/R/checking_data.R index 9069e8b9..e052d307 100644 --- a/R/checking_data.R +++ b/R/checking_data.R @@ -736,10 +736,10 @@ agrupar_area_geo <- function(data_event, #' col_area = "area", #' porcentaje = FALSE) #' @export -agrupar_area_geo <- function(data_event, +agrupar_top_area_geo <- function(data_event, dpto = NULL, col_area = "area", - porcentaje = FALSE) { + porcentaje = FALSE, stopifnot("El parametro data_event es obligatorio" = !missing(data_event), "El parametro data_event debe ser un data.frame" = is.data.frame(data_event), From 3ba2cad7b3455324f381e69ae4e00fecfde5a780 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 12:16:07 -0500 Subject: [PATCH 10/54] feat: added a new parameter called top It includes a new parameter called top to return the numbers of rows indicated by the user and some optimizations. Ref: #154 & Ref: #146 --- R/checking_data.R | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/R/checking_data.R b/R/checking_data.R index e052d307..7dc88e0b 100644 --- a/R/checking_data.R +++ b/R/checking_data.R @@ -740,6 +740,7 @@ agrupar_top_area_geo <- function(data_event, dpto = NULL, col_area = "area", porcentaje = FALSE, + top = 10) { stopifnot("El parametro data_event es obligatorio" = !missing(data_event), "El parametro data_event debe ser un data.frame" = is.data.frame(data_event), @@ -757,18 +758,19 @@ agrupar_top_area_geo <- function(data_event, if (length(aux_dpto) > 1) { data_event_area <- geo_filtro(data_event, dpto) } - data_event_area <- agrupar_cols_casos(data_event_area, - nomb_cols) } else { dpto <- unique(data_event_area[[nomb_cols[3]]]) if (length(dpto) != 1) { nomb_cols <- nomb_cols[1:3] } - data_event_area <- agrupar_cols_casos(data_event_area, - nomb_cols) } + data_event_area <- agrupar_cols_casos(data_event_area, + nomb_cols) data_event_area <- dplyr::arrange(data_event_area, dplyr::desc(.data$casos)) + if (top <= nrow(data_event_area)) { + data_event_area <- data_event_area[1:top, ] + } return(data_event_area) } From 665b8d8bfd69ec04c729dc88d8db9deedee4ae85 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 12:17:08 -0500 Subject: [PATCH 11/54] chore: added the description and example Ref: #154 & Ref: #146 --- NAMESPACE | 1 + R/checking_data.R | 16 ++++++++--- man/agrupar_top_area_geo.Rd | 55 +++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 man/agrupar_top_area_geo.Rd diff --git a/NAMESPACE b/NAMESPACE index b0e431fe..3b4e95c9 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -16,6 +16,7 @@ export(agrupar_semanaepi) export(agrupar_sex) export(agrupar_sex_semanaepi) export(agrupar_tipo_caso) +export(agrupar_top_area_geo) export(agrupar_years) export(calcular_incidencia) export(calcular_incidencia_geo) diff --git a/R/checking_data.R b/R/checking_data.R index 7dc88e0b..6409fcfc 100644 --- a/R/checking_data.R +++ b/R/checking_data.R @@ -710,6 +710,10 @@ agrupar_area_geo <- function(data_event, dplyr::desc(.data$casos)) return(data_event_area) } + +#' Agrupar por área geográfica a nivel departamental o municipal +#' +#' Función que agrupa los datos de una enfermedad o evento por área #' geográfica a nivel departamental o municipal #' @param data_event Un `data.frame` que contiene los datos de la #' enfermedad o evento @@ -726,15 +730,19 @@ agrupar_area_geo <- function(data_event, #' @param porcentaje Un `boolean` (TRUE o FALSE) que indica si se debe #' agregar una columna con el porcentaje de casos; su valor por #' defecto es `FALSE` +#' @param top Un `numeric` (numerico) que indica la cantidad de departamentos o +#' municipios con mayor número de casos que se deben retornar; su valor +#' por defecto es `10` #' @return Un `data.frame` con los datos de la enfermedad o evento agrupados #' por códigos de municipios y número de casos #' @examples #' data(dengue2020) #' data_limpia <- limpiar_data_sivigila(data_event = dengue2020) -#' agrupar_area_geo(data_event = data_limpia, -#' dpto = "Antioquia", -#' col_area = "area", -#' porcentaje = FALSE) +#' agrupar_top_area_geo(data_event = data_limpia, +#' dpto = "Antioquia", +#' col_area = "area", +#' porcentaje = FALSE, +#' top = 10) #' @export agrupar_top_area_geo <- function(data_event, dpto = NULL, diff --git a/man/agrupar_top_area_geo.Rd b/man/agrupar_top_area_geo.Rd new file mode 100644 index 00000000..8c60a41a --- /dev/null +++ b/man/agrupar_top_area_geo.Rd @@ -0,0 +1,55 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/checking_data.R +\name{agrupar_top_area_geo} +\alias{agrupar_top_area_geo} +\title{Agrupar por área geográfica a nivel departamental o municipal} +\usage{ +agrupar_top_area_geo( + data_event, + dpto = NULL, + col_area = "area", + porcentaje = FALSE, + top = 10 +) +} +\arguments{ +\item{data_event}{Un `data.frame` que contiene los datos de la +enfermedad o evento} + +\item{dpto}{Un `character` (cadena de caracteres) que contiene +el nombre del departamento; su valor por defecto es `NULL`; si se ingresa +un valor en este parámetro se procederá agrupar los datos por los +municipios del departamento y sus áreas geográficas; si no se +ingresa un valor en este parámetro validará si los datos ya están +filtrados por algún departamento, si no lo están generará la agrupación +por departamento} + +\item{col_area}{Un `character` (cadena de caracteres) con el nombre de +la columna que contiene las áreas geográficas en los datos de la enfermedad +o evento; su valor por defecto es `"cod_mun_o"`} + +\item{porcentaje}{Un `boolean` (TRUE o FALSE) que indica si se debe +agregar una columna con el porcentaje de casos; su valor por +defecto es `FALSE`} + +\item{top}{Un `numeric` (numerico) que indica la cantidad de departamentos o +municipios con mayor número de casos que se deben retornar; su valor +por defecto es `10`} +} +\value{ +Un `data.frame` con los datos de la enfermedad o evento agrupados +por códigos de municipios y número de casos +} +\description{ +Función que agrupa los datos de una enfermedad o evento por área +geográfica a nivel departamental o municipal +} +\examples{ +data(dengue2020) +data_limpia <- limpiar_data_sivigila(data_event = dengue2020) +agrupar_top_area_geo(data_event = data_limpia, + dpto = "Antioquia", + col_area = "area", + porcentaje = FALSE, + top = 10) +} From ddec21ea9f1df270e3736290b567b6fc810af0df Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 12:19:41 -0500 Subject: [PATCH 12/54] feat: used the previous logic of plot_area_geo to create the function A new function called plot_top_area_geo has been created with the previous logic and process of plot_area_geo. Ref: #154 & Ref: #146 --- R/plotting.R | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/R/plotting.R b/R/plotting.R index fc7c3a5e..d96c1afd 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -973,6 +973,17 @@ plot_area_geo <- function(data_agrupada, pos_leyenda return(plot_casos_area) } +plot_top_area_geo <- function(data_agrupada, + col_area = "area", + fuente_data = NULL) { + stopifnot("El parametro data_agrupada debe ser un data.frame" + = is.data.frame(data_agrupada), + "El parametro col_area debe ser una cadena de caracteres" + = is.character(col_area)) + if (is.null(fuente_data)) { + fuente_data <- + "Fuente: SIVIGILA, Instituto Nacional de Salud, Colombia" + } cols_geo_ocurrencia <- obtener_tip_ocurren_geo(nombre_event = data_agrupada[["nombre_evento"]][1]) @@ -1010,7 +1021,7 @@ plot_area_geo <- function(data_agrupada, fill = .data[[nomb_cols[1]]])) + ggplot2::geom_bar(stat = "identity") + ggplot2::labs(x = "\nDepartamento\n", - y = paste0(etiqueta_casos, "\n"), + y = paste0("\n", etiqueta_casos), caption = fuente_data) + ggplot2::theme_classic() + obtener_estetica_escala(escala = 3, From 18460bcd8c73347fa924109186b25445351f349a Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 12:20:22 -0500 Subject: [PATCH 13/54] chore: added the description and examples Ref: #154 & Ref: #146 --- NAMESPACE | 1 + R/plotting.R | 22 ++++++++++++++++++++++ man/plot_top_area_geo.Rd | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 man/plot_top_area_geo.Rd diff --git a/NAMESPACE b/NAMESPACE index 3b4e95c9..fff7ccbf 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -61,6 +61,7 @@ export(plot_tabla_incidencia_sex) export(plot_tabla_tipos_event) export(plot_tipo_caso) export(plot_tipo_caso_years) +export(plot_top_area_geo) export(plot_years) export(remove_error_fecha) export(remove_val_nin) diff --git a/R/plotting.R b/R/plotting.R index d96c1afd..56a2129f 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -973,6 +973,28 @@ plot_area_geo <- function(data_agrupada, pos_leyenda return(plot_casos_area) } + +#' Generar gráfico de distribución de casos por área geográfica a nivel +#' departamental o municipal +#' +#' Función que genera el gráfico de casos por área geográfica a nivel +#' departamental o municipal +#' @param data_agrupada Un `data.frame` que contiene los datos de la +#' enfermedad o evento agrupados +#' @param col_area Un `character` (cadena de carácteres) con el nombre de +#' la columna con el área geografica en los datos agrupados de la enfermedad +#' o evento; su valor por defecto es `"area"` +#' @param fuente_data Un `character` (cadena de caracteres) que contiene la +#' leyenda o fuente de información de los datos; su valor por defecto es `NULL` +#' @return Un `plot` o gráfico de distribución de casos por área geográfica +#' @examples +#' data(dengue2020) +#' data_limpia <- limpiar_data_sivigila(dengue2020) +#' data_agrupada <- agrupar_top_area_geo(data_event = data_limpia, +#' dpto = "Antioquia") +#' plot_top_area_geo(data_agrupada, +#' col_area = "area") +#' @export plot_top_area_geo <- function(data_agrupada, col_area = "area", fuente_data = NULL) { diff --git a/man/plot_top_area_geo.Rd b/man/plot_top_area_geo.Rd new file mode 100644 index 00000000..352e180e --- /dev/null +++ b/man/plot_top_area_geo.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/plotting.R +\name{plot_top_area_geo} +\alias{plot_top_area_geo} +\title{Generar gráfico de distribución de casos por área geográfica a nivel +departamental o municipal} +\usage{ +plot_top_area_geo(data_agrupada, col_area = "area", fuente_data = NULL) +} +\arguments{ +\item{data_agrupada}{Un `data.frame` que contiene los datos de la +enfermedad o evento agrupados} + +\item{col_area}{Un `character` (cadena de carácteres) con el nombre de +la columna con el área geografica en los datos agrupados de la enfermedad +o evento; su valor por defecto es `"area"`} + +\item{fuente_data}{Un `character` (cadena de caracteres) que contiene la +leyenda o fuente de información de los datos; su valor por defecto es `NULL`} +} +\value{ +Un `plot` o gráfico de distribución de casos por área geográfica +} +\description{ +Función que genera el gráfico de casos por área geográfica a nivel +departamental o municipal +} +\examples{ +data(dengue2020) +data_limpia <- limpiar_data_sivigila(dengue2020) +data_agrupada <- agrupar_top_area_geo(data_event = data_limpia, + dpto = "Antioquia") +plot_top_area_geo(data_agrupada, + col_area = "area") +} From 7cef2b60f3882c5fe8374de56f2c9d7004f1bd7d Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 12:21:29 -0500 Subject: [PATCH 14/54] fix(plot_per_etn): lintr brackets Ref: #154 & Ref: #146 --- R/plotting.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/plotting.R b/R/plotting.R index 56a2129f..492b6203 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -1382,8 +1382,8 @@ plot_per_etn <- function(data_agrupada, ggplot2::geom_bar(stat = "identity", width = 0.7) + ggplot2::labs(x = paste0("\n", etiqueta_etn, "\n"), y = paste0(etiqueta_casos, "\n"), - caption = fuente_data) + - { if (porcentaje) { + caption = fuente_data) + { + if (porcentaje) { ggplot2::geom_text(ggplot2::aes(label = paste0(.data[["porcentaje"]], "%\n")), vjust = 0, From 5b31c70077e7d829fb39cc67598dc1ea74bc9d90 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 14:01:01 -0500 Subject: [PATCH 15/54] chore(skeleton): added subsection with the municipalities top 10 by geo are Ref: #154 & Ref: #146 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index 0ed75361..31e82eb6 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -336,6 +336,16 @@ plot_areas_geo <- plot_area_geo(data_agrupada = dist_areas_geo) plot_areas_geo ``` +```{r group_top_areas, results='hide', echo = FALSE, error = FALSE, warning = FALSE, include = FALSE, message = FALSE} +dist_top_areas_geo <- agrupar_top_area_geo(data_event = data_event_filtrada) +``` + +Los 10 municipios que presentaron mayor número de casos por área geográfica son los siguientes: +```{r plot_top_areas, fig.height = 11.5, fig.width = 10, fig.cap = "Distribución de los 10 municipios con más casos por área geográfica", include = params$areas_distribution, fig.pos = "H"} +plot_top_areas_geo <- plot_top_area_geo(data_agrupada = dist_areas_geo) +plot_top_areas_geo +``` + \newpage # Incidencia From 76c7fa255879152d376a3986b8b2921278d19376 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 14:05:44 -0500 Subject: [PATCH 16/54] fix: removed agrupar_fecha_notifica function This function has been removed due is redundant. Ref: #154 & Ref: #146 --- R/checking_data.R | 40 ----------------------------------- man/agrupar_fecha_notifica.Rd | 30 -------------------------- 2 files changed, 70 deletions(-) delete mode 100644 man/agrupar_fecha_notifica.Rd diff --git a/R/checking_data.R b/R/checking_data.R index 6409fcfc..4fea9de9 100644 --- a/R/checking_data.R +++ b/R/checking_data.R @@ -283,46 +283,6 @@ agrupar_fecha_inisintomas <- function(data_event, return(data_agrupada_fecha_ini) } -#' Agrupar por fecha de notificación y casos -#' -#' Función que agrupa los datos de una enfermedad o evento por fecha de -#' notificación y número de casos -#' @param data_event Un `data.frame` que contiene los datos de la enfermedad -#' o evento -#' @param col_fecha Un `character` (cadena de caracteres) con el nombre de -#' la columna que contiene las fechas de notificación en los datos de la -#' enfermedad o evento; su valor por defecto es `"fec_not"` -#' @return Un `data.frame` con los datos de enfermedades agrupados por fecha de -#' notificación y número de casos -#' @examples -#' data(dengue2020) -#' data_limpia <- limpiar_data_sivigila(data_event = dengue2020) -#' agrupar_fecha_notifica(data_event = data_limpia, -#' col_fecha = "fec_not") -#' @export -agrupar_fecha_notifica <- function(data_event, - col_fecha = "fec_not") { - fechas_cols_nombres <- config::get(file = - system.file("extdata", - "config.yml", - package = "sivirep"), - "dates_column_names") - stopifnot("El parametro data_event es obligatorio" = !missing(data_event), - "El parametro data_event debe ser un data.frame" = - is.data.frame(data_event), - "El parametro data_event no debe estar vacio" = - nrow(data_event) > 0) - if (is.null(col_fecha)) { - col_fecha <- fechas_cols_nombres[2] - } - stopifnot("El parametro col_fecha debe ser una cadena de caracteres" - = is.character(col_fecha)) - nomb_cols <- append(col_fecha, "semana") - data_agrupada_fecha_not <- agrupar_cols_casos(data_event, - nomb_cols = nomb_cols) - return(data_agrupada_fecha_not) -} - #' Agrupar por sexo y casos #' #' Función que agrupa los datos de una enfermedad o evento diff --git a/man/agrupar_fecha_notifica.Rd b/man/agrupar_fecha_notifica.Rd deleted file mode 100644 index f82e5106..00000000 --- a/man/agrupar_fecha_notifica.Rd +++ /dev/null @@ -1,30 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/checking_data.R -\name{agrupar_fecha_notifica} -\alias{agrupar_fecha_notifica} -\title{Agrupar por fecha de notificación y casos} -\usage{ -agrupar_fecha_notifica(data_event, col_fecha = "fec_not") -} -\arguments{ -\item{data_event}{Un `data.frame` que contiene los datos de la enfermedad -o evento} - -\item{col_fecha}{Un `character` (cadena de caracteres) con el nombre de -la columna que contiene las fechas de notificación en los datos de la -enfermedad o evento; su valor por defecto es `"fec_not"`} -} -\value{ -Un `data.frame` con los datos de enfermedades agrupados por fecha de -notificación y número de casos -} -\description{ -Función que agrupa los datos de una enfermedad o evento por fecha de -notificación y número de casos -} -\examples{ -data(dengue2020) -data_limpia <- limpiar_data_sivigila(data_event = dengue2020) -agrupar_fecha_notifica(data_event = data_limpia, - col_fecha = "fec_not") -} From 4ddaf4a6fc00e5c7933a28ffd2bb3f07ee88bb34 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 14:06:06 -0500 Subject: [PATCH 17/54] fix: removed plot_fecha_notifica function This function has been removed due is redundant. Ref: #154 & Ref: #146 --- NAMESPACE | 2 - R/plotting.R | 125 ------------------------------------- man/plot_fecha_notifica.Rd | 48 -------------- 3 files changed, 175 deletions(-) delete mode 100644 man/plot_fecha_notifica.Rd diff --git a/NAMESPACE b/NAMESPACE index fff7ccbf..884e5438 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -7,7 +7,6 @@ export(agrupar_edad) export(agrupar_edad_sex) export(agrupar_eventos) export(agrupar_fecha_inisintomas) -export(agrupar_fecha_notifica) export(agrupar_mpio) export(agrupar_per_etn) export(agrupar_pob_especial) @@ -50,7 +49,6 @@ export(plot_dptos) export(plot_edad) export(plot_edad_sex) export(plot_fecha_inisintomas) -export(plot_fecha_notifica) export(plot_map) export(plot_mpios) export(plot_per_etn) diff --git a/R/plotting.R b/R/plotting.R index 492b6203..0f3dd772 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -356,131 +356,6 @@ plot_fecha_inisintomas <- function(data_agrupada, return(plot_casos_inisintomas) } -#' Generar gráfico de distribución de casos por fecha de notificación -#' -#' Función que genera el gráfico de distribución de casos por -#' fecha de notificación -#' @param data_agrupada Un `data.frame` que contiene los datos de la -#' enfermedad o evento agrupados -#' @param uni_marca Un `character` (cadena de caracteres) que contiene la unidad -#' de las marcas del gráfico (`"dia"`, `"semanaepi"`y `"mes"``); -#' su valor por defecto es `"semanaepi"` -#' @param col_fecha Un `character` (cadena de caracteres) que contiene el -#' nombre de la columna con las fechas de notificación en los datos de la -#' enfermedad o evento agrupados; su valor por defecto es `"fec_not"` -#' @param fuente_data Un `character` (cadena de caracteres) que contiene la -#' leyenda o fuente de información de los datos; su valor por defecto es `NULL` -#' @param tipo Un `character` (cadena de caracteres) que contiene el tipo de -#' grafico (`"barras"` o `"tendencia"`); su valor por defecto es `"barras"` -#' @return Un `plot` o gráfico de distribución de casos por fecha de -#' notificación -#' @examples -#' data(dengue2020) -#' data_limpia <- limpiar_data_sivigila(dengue2020) -#' data_agrupada <- agrupar_fecha_notifica(data_event = data_limpia) -#' plot_fecha_notifica(data_agrupada = data_agrupada, -#' col_fecha = "fec_not", -#' uni_marca = "semanaepi") -#' @export -plot_fecha_notifica <- function(data_agrupada, - col_fecha = "fec_not", - uni_marca = "semanaepi", - fuente_data = NULL, - tipo = "barras") { - stopifnot("El parametro data_agrupada es obligatorio" = - !missing(data_agrupada), - "El parametro data_agrupada debe ser un data.frame" = - is.data.frame(data_agrupada), - "El parametro data_agrupada no debe estar vacio" = - nrow(data_agrupada) > 0, - "El parametro col_fecha debe ser una cadena de caracteres" = - is.character(col_fecha), - "El parametro uni_marca debe ser una cadena de caracteres" = - is.character(uni_marca), - "Valor invalido para el parametro uni_marca" = - uni_marca %in% c("dia", "semanaepi", "mes"), - "El parametro tipo debe ser una cadena de caracteres" = - is.character(tipo), - "Valor invalido para el parametro tipo" = - tipo %in% c("barras", "tendencia")) - fechas_column_nombres <- config::get(file = - system.file("extdata", - "config.yml", - package = "sivirep"), - "dates_column_names") - var_x <- col_fecha - num_eventos <- length(unique(data_agrupada[["nombre_evento"]])) - data_plot <- data_agrupada - if (is.null(fuente_data)) { - fuente_data <- - "Fuente: SIVIGILA, Instituto Nacional de Salud, Colombia" - } - stopifnot("El parametro fuente_data debe ser una cadena de caracteres" = - is.character(fuente_data)) - uni_marca <- switch( - uni_marca, - mes = "month", - dia = "day", - semanaepi = "semana" - ) - if (is.null(col_fecha)) { - col_fecha <- fechas_column_nombres[2] - } - if (uni_marca == "semana") { - var_x <- "semana" - data_plot[[var_x]] <- as.numeric(data_agrupada[[var_x]]) - } - if (tipo == "tendencia" && uni_marca != "day") { - data_plot <- data_plot %>% dplyr::group_by_at(c(var_x, - "nombre_evento")) %>% - dplyr::summarise(casos = sum(.data$casos), .groups = "drop") - } - etiqueta_fecha <- config::get(file = - system.file("extdata", - "config.yml", - package = "sivirep"), - "label_date_not") - etiqueta_x <- paste0("\n", etiqueta_fecha, " por ", uni_marca, "\n") - etiqueta_casos <- config::get(file = - system.file("extdata", - "config.yml", - package = "sivirep"), - "label_cases") - pos_leyenda <- ggplot2::theme(legend.position = "right") - if (num_eventos > 3) { - pos_leyenda <- ggplot2::theme(legend.position = "bottom") - } - plot_casos_fecha_notifica <- - ggplot2::ggplot(data_plot, - ggplot2::aes(x = .data[[var_x]], - y = .data[["casos"]], - fill = .data[["nombre_evento"]])) + { - if (tipo == "tendencia") { - ggplot2::geom_line(linewidth = 1, - color = "#FDDA0D") - } else { - ggplot2::geom_col(alpha = 0.9) - } - } + - ggplot2::labs(x = etiqueta_x, - y = paste0(etiqueta_casos, "\n"), - caption = fuente_data) + - obtener_estetica_escala(escala = num_eventos, nombre = "Eventos") + - tema_sivirep() + - pos_leyenda + { - if (uni_marca != "semana") { - ggplot2::scale_x_date(date_breaks = paste0("1 ", - uni_marca), - date_labels = "%b") - } else { - ggplot2::scale_x_continuous(breaks = seq(1, - 53, - 2)) - } - } - return(plot_casos_fecha_notifica) -} - #' Generar gráfico de distribución de casos por sexo #' #' Función que genera el gráfico de distribución de casos por sexo diff --git a/man/plot_fecha_notifica.Rd b/man/plot_fecha_notifica.Rd deleted file mode 100644 index 11687653..00000000 --- a/man/plot_fecha_notifica.Rd +++ /dev/null @@ -1,48 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/plotting.R -\name{plot_fecha_notifica} -\alias{plot_fecha_notifica} -\title{Generar gráfico de distribución de casos por fecha de notificación} -\usage{ -plot_fecha_notifica( - data_agrupada, - col_fecha = "fec_not", - uni_marca = "semanaepi", - fuente_data = NULL, - tipo = "barras" -) -} -\arguments{ -\item{data_agrupada}{Un `data.frame` que contiene los datos de la -enfermedad o evento agrupados} - -\item{col_fecha}{Un `character` (cadena de caracteres) que contiene el -nombre de la columna con las fechas de notificación en los datos de la -enfermedad o evento agrupados; su valor por defecto es `"fec_not"`} - -\item{uni_marca}{Un `character` (cadena de caracteres) que contiene la unidad -de las marcas del gráfico (`"dia"`, `"semanaepi"`y `"mes"``); -su valor por defecto es `"semanaepi"`} - -\item{fuente_data}{Un `character` (cadena de caracteres) que contiene la -leyenda o fuente de información de los datos; su valor por defecto es `NULL`} - -\item{tipo}{Un `character` (cadena de caracteres) que contiene el tipo de -grafico (`"barras"` o `"tendencia"`); su valor por defecto es `"barras"`} -} -\value{ -Un `plot` o gráfico de distribución de casos por fecha de -notificación -} -\description{ -Función que genera el gráfico de distribución de casos por -fecha de notificación -} -\examples{ -data(dengue2020) -data_limpia <- limpiar_data_sivigila(dengue2020) -data_agrupada <- agrupar_fecha_notifica(data_event = data_limpia) -plot_fecha_notifica(data_agrupada = data_agrupada, - col_fecha = "fec_not", - uni_marca = "semanaepi") -} From 39271ccad029f8640bd8a94434b438f86f9b90f8 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Tue, 7 May 2024 14:07:34 -0500 Subject: [PATCH 18/54] =?UTF-8?q?fix:=20removed=20section=20Distribuci?= =?UTF-8?q?=C3=B3n=20de=20casos=20por=20fecha=20de=20notificaci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ref: #154 & Ref: #146 --- .../rmarkdown/templates/reports/skeleton/skeleton.Rmd | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index 31e82eb6..e12cef26 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -231,17 +231,6 @@ plot_fecha_inisintomas(data_agrupada = casos_iniciosin_dia, uni_marca = "semanaepi") ``` -**Distribución de casos por fecha de notificación** -```{r cases_by_onset_notification_date, include = FALSE} -casos_fecha_notifica_dia <- agrupar_fecha_notifica(data_event = - data_event_filtrada) -``` - -```{r plot_cases_by_onset_notification_date, fig.height = 5, fig.width = 10, fig.cap = "Distribución de casos por fecha de notificación", include = params$temporal_distribution, eval = params$temporal_distribution} -plot_fecha_notifica(data_agrupada = casos_fecha_notifica_dia, - uni_marca = "semanaepi") -``` - `r if (params$epi_sex_distribution) {"# Distribución de casos por sexo y semana epidemiológica"}` ```{r distribution_cg, include = FALSE} From 1737275c3f6b586729a4bedd3146932a7a17d7a4 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Wed, 8 May 2024 06:42:24 -0500 Subject: [PATCH 19/54] feat: added parameter estandar and its logic Ref: #154 & #146 --- R/checking_data.R | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/R/checking_data.R b/R/checking_data.R index 4fea9de9..685b7fdf 100644 --- a/R/checking_data.R +++ b/R/checking_data.R @@ -142,7 +142,8 @@ agrupar_semanaepi <- function(data_event, #' @export agrupar_cols_casos <- function(data_event, nomb_cols, - porcentaje = FALSE) { + porcentaje = FALSE, + estandar = TRUE) { stopifnot("El parametro data_event es obligatorio" = !missing(data_event), "El parametro data_event debe ser un data.frame" = is.data.frame(data_event), @@ -156,10 +157,16 @@ agrupar_cols_casos <- function(data_event, (!is.character(nomb_cols) && is.array(nomb_cols)), "El parametro porcentaje debe ser un booleano (TRUE o FALSE)" = is.logical(porcentaje)) - nomb_cols <- append(nomb_cols, c("cod_eve", "nombre_evento", "ano")) - data_event_agrupada <- data_event %>% - dplyr::group_by_at(nomb_cols) %>% - dplyr::summarise(casos = dplyr::n(), .groups = "drop") + if (estandar) { + nomb_cols <- append(nomb_cols, c("cod_eve", "nombre_evento", "ano")) + data_event_agrupada <- data_event %>% + dplyr::group_by_at(nomb_cols) %>% + dplyr::summarise(casos = dplyr::n(), .groups = "drop") + } else { + data_event_agrupada <- data_event %>% + dplyr::group_by_at(nomb_cols) %>% + dplyr::summarise(casos = sum(.data[["casos"]]), .groups = "drop") + } if (porcentaje) { data_event_agrupada <- data_event_agrupada %>% From 50d5a3306ac91b7f96a94ed43d6f80375a15ef1c Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Wed, 8 May 2024 06:43:34 -0500 Subject: [PATCH 20/54] chore: added documentation of parameter estandar Ref: #154 & #154 --- R/checking_data.R | 8 ++++++++ man/agrupar_cols_casos.Rd | 11 ++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/R/checking_data.R b/R/checking_data.R index 685b7fdf..9004ab8e 100644 --- a/R/checking_data.R +++ b/R/checking_data.R @@ -128,6 +128,14 @@ agrupar_semanaepi <- function(data_event, #' @param porcentaje Un `boolean` (TRUE o FALSE) que indica #' si se debe agregar una columna con el porcentaje de casos; #' su valor por defecto es `FALSE` +#' @param estandar Un `boolean` (TRUE o FALSE) que indica +#' si se debe utilizar el estandar de agrupación de los datos +#' del evento o enfermedad propuesto por el paquete, es decir +#' que se incluyan estas columnas o variables como parte del +#' resultado `c("cod_eve", "nombre_evento", "ano")`; su valor +#' por defecto es `TRUE`, si su valor es `FALSE` agrupara los +#' datos solamente por las columnas o variables enviadas en el +#' párametro `nomb_cols` #' @return Un `data.frame` con los datos de una enfermedad #' o evento agrupados por el nombre de la(s) columna(s) y el #' número de casos diff --git a/man/agrupar_cols_casos.Rd b/man/agrupar_cols_casos.Rd index f86e9ebc..624a76d9 100644 --- a/man/agrupar_cols_casos.Rd +++ b/man/agrupar_cols_casos.Rd @@ -4,7 +4,7 @@ \alias{agrupar_cols_casos} \title{Agrupar por columnas y casos} \usage{ -agrupar_cols_casos(data_event, nomb_cols, porcentaje = FALSE) +agrupar_cols_casos(data_event, nomb_cols, porcentaje = FALSE, estandar = TRUE) } \arguments{ \item{data_event}{Un `data.frame` que contiene los datos de @@ -17,6 +17,15 @@ la(s) columna(s) en los datos de la enfermedad o evento} \item{porcentaje}{Un `boolean` (TRUE o FALSE) que indica si se debe agregar una columna con el porcentaje de casos; su valor por defecto es `FALSE`} + +\item{estandar}{Un `boolean` (TRUE o FALSE) que indica +si se debe utilizar el estandar de agrupación de los datos +del evento o enfermedad propuesto por el paquete, es decir +que se incluyan estas columnas o variables como parte del +resultado `c("cod_eve", "nombre_evento", "ano")`; su valor +por defecto es `TRUE`, si su valor es `FALSE` agrupara los +datos solamente por las columnas o variables enviadas en el +párametro `nomb_cols`} } \value{ Un `data.frame` con los datos de una enfermedad From 469410cc858a88e385283d06fdeea5c27f3f1b3d Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Wed, 8 May 2024 06:45:56 -0500 Subject: [PATCH 21/54] fix(plot_per_etn): added logic to regroup data event Ref: #154 & #154 --- R/plotting.R | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/R/plotting.R b/R/plotting.R index 0f3dd772..f8e35df9 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -1229,8 +1229,6 @@ plot_per_etn <- function(data_agrupada, fuente_data <- "Fuente: SIVIGILA, Instituto Nacional de Salud, Colombia" } - nomb_cols <- c(col_etn, "nombre_evento") - escala <- length(unique(data_agrupada[["nombre_evento"]])) etiqueta_casos <- config::get(file = system.file("extdata", "config.yml", @@ -1246,9 +1244,13 @@ plot_per_etn <- function(data_agrupada, "config.yml", package = "sivirep"), "labels_per_etn") - grupos <- unique(data_agrupada[[nomb_cols[1]]]) + grupos <- unique(data_agrupada[[col_etn]]) etiquetas <- etiquetas[as.character(grupos)] etiquetas <- unlist(etiquetas) + data_agrupada <- agrupar_cols_casos(data_event = data_agrupada, + nomb_cols = col_etn, + porcentaje = TRUE, + estandar = FALSE) plot_per_etn <- ggplot2::ggplot(data_agrupada, ggplot2::aes(x = .data[[nomb_cols[1]]], From dcb95379f15c1f26c88bfc8f7773992f0a7806eb Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Wed, 8 May 2024 06:46:59 -0500 Subject: [PATCH 22/54] fix(plot_per_etn): removed distinction between events in the plot Ref: #154 & #154 --- R/plotting.R | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/R/plotting.R b/R/plotting.R index f8e35df9..65249d99 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -1253,29 +1253,25 @@ plot_per_etn <- function(data_agrupada, estandar = FALSE) plot_per_etn <- ggplot2::ggplot(data_agrupada, - ggplot2::aes(x = .data[[nomb_cols[1]]], - y = .data[["casos"]], - fill = .data[[nomb_cols[2]]])) + - ggplot2::geom_bar(stat = "identity", width = 0.7) + - ggplot2::labs(x = paste0("\n", etiqueta_etn, "\n"), - y = paste0(etiqueta_casos, "\n"), + ggplot2::aes(x = .data[[col_etn]], + y = .data[["casos"]])) + + ggplot2::geom_bar(stat = "identity", width = 0.5, + fill = "#2274BB") + + ggplot2::labs(x = paste0(etiqueta_etn, "\n"), + y = paste0("\n", etiqueta_casos), caption = fuente_data) + { if (porcentaje) { ggplot2::geom_text(ggplot2::aes(label = paste0(.data[["porcentaje"]], "%\n")), - vjust = 0, + vjust = 0.8, color = "black", - hjust = 0.5) + hjust = 0) } } + ggplot2::theme_classic() + - obtener_estetica_escala(escala = escala, nombre = "Eventos\n") + ggplot2::scale_x_discrete(labels = etiquetas) + tema_sivirep() + - ggplot2::theme(legend.position = "right", - axis.text.x = ggplot2::element_text( - angle = 90, - hjust = 1)) + ggplot2::coord_flip() return(plot_per_etn) } From f380ea2bd663af6bd19c3c791977588a299241f1 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:27:30 -0500 Subject: [PATCH 23/54] chore: removed function obtener_casos_pob_especial Ref: #160 --- NAMESPACE | 2 -- R/utils.R | 42 ------------------------------- man/obtener_casos_pob_especial.Rd | 25 ------------------ 3 files changed, 69 deletions(-) delete mode 100644 man/obtener_casos_pob_especial.Rd diff --git a/NAMESPACE b/NAMESPACE index 884e5438..c7f8fb5d 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -9,7 +9,6 @@ export(agrupar_eventos) export(agrupar_fecha_inisintomas) export(agrupar_mpio) export(agrupar_per_etn) -export(agrupar_pob_especial) export(agrupar_rango_edad) export(agrupar_semanaepi) export(agrupar_sex) @@ -34,7 +33,6 @@ export(limpiar_fecha_event) export(limpiar_val_atipic) export(list_events) export(listar_dptos) -export(obtener_casos_pob_especial) export(obtener_cond_inciden_event) export(obtener_dptos) export(obtener_estetica_escala) diff --git a/R/utils.R b/R/utils.R index 9a3bfced..5acd7a9b 100644 --- a/R/utils.R +++ b/R/utils.R @@ -492,48 +492,6 @@ obtener_eventos_relacionados <- function(nombre_event, years) { return(grupo_events) } -#' Obtener población especial y casos -#' -#' Función que obtiene los casos por tipo de población -#' especial de una enfermedad o evento -#' @param data_event Un `data.frame` que contiene los datos de una -#' enfermedad o evento -#' @return Un `data.frame` con los casos por tipo de población especial -#' de una enfermedad o evento -#' @examples -#' data(dengue2020) -#' data_limpia <- limpiar_data_sivigila(data_event = dengue2020) -#' obtener_casos_pob_especial(data_event = data_limpia) -#' @export -obtener_casos_pob_especial <- function(data_event) { - stopifnot("El parametro data_event es obligatorio" = !missing(data_event), - "El parametro data_event debe ser un data.frame" = - is.data.frame(data_event), - "El parametro data_event no debe estar vacio" = - nrow(data_event) > 0) - pob_especial <- config::get(file = system.file("extdata", - "config.yml", - package = "sivirep"), - "special_populations_cols") - pob_especial_noms <- config::get(file = - system.file("extdata", - "config.yml", - package = "sivirep"), - "special_populations_names") - casos_especiales <- NULL - for (sp in pob_especial) { - data_event[[sp]] <- as.numeric(data_event[[sp]]) - casos_especiales <- append(casos_especiales, - sum(data_event[[sp]])) - } - data_pob_especial <- data.frame( - poblacion = pob_especial, - casos = casos_especiales, - nombre = pob_especial_noms - ) - return(data_pob_especial) -} - #' Obtener las condiciones para calcular la incidencia de una #' enfermedad o evento #' diff --git a/man/obtener_casos_pob_especial.Rd b/man/obtener_casos_pob_especial.Rd deleted file mode 100644 index 70c33a38..00000000 --- a/man/obtener_casos_pob_especial.Rd +++ /dev/null @@ -1,25 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/utils.R -\name{obtener_casos_pob_especial} -\alias{obtener_casos_pob_especial} -\title{Obtener población especial y casos} -\usage{ -obtener_casos_pob_especial(data_event) -} -\arguments{ -\item{data_event}{Un `data.frame` que contiene los datos de una -enfermedad o evento} -} -\value{ -Un `data.frame` con los casos por tipo de población especial -de una enfermedad o evento -} -\description{ -Función que obtiene los casos por tipo de población -especial de una enfermedad o evento -} -\examples{ -data(dengue2020) -data_limpia <- limpiar_data_sivigila(data_event = dengue2020) -obtener_casos_pob_especial(data_event = data_limpia) -} From 08994b4f89a4cb17c5a880cee959383819a037c8 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:28:18 -0500 Subject: [PATCH 24/54] chore: removed function agrupar_pob_especial Ref: #160 --- R/checking_data.R | 41 ------------------------------------- man/agrupar_pob_especial.Rd | 35 ------------------------------- 2 files changed, 76 deletions(-) delete mode 100644 man/agrupar_pob_especial.Rd diff --git a/R/checking_data.R b/R/checking_data.R index 9004ab8e..f64a196d 100644 --- a/R/checking_data.R +++ b/R/checking_data.R @@ -482,47 +482,6 @@ agrupar_edad_sex <- function(data_event, return(data_event_edad_sex) } -#' Agrupar por población especial y casos -#' -#' Función que agrupa los datos de la enfermedad o evento por población -#' especial y casos -#' @param data_event Un `data.frame` que contiene los datos de la enfermedad -#' o evento -#' @param col_pob Un `character` (cadena de caracteres) con el nombre de la -#' columna que contiene las poblaciones especiales en los datos de la -#' enfermedad o evento; su valor por defecto es `"poblacion"` -#' @param porcentaje Un `boolean` (TRUE o FALSE) que indica si se debe -#' agregar una columna con el porcentaje de casos; su valor por -#' defecto es `FALSE` -#' @return Un `data.frame` con los datos de la enfermedad o evento agrupados -#' por poblaciones especiales y casos -#' @examples -#' data(dengue2020) -#' data_limpia <- limpiar_data_sivigila(data_event = dengue2020) -#' agrupar_pob_especial(data_event = data_limpia, -#' col_pob = "poblacion", -#' porcentaje = TRUE) -#' @export -agrupar_pob_especial <- function(data_event, - col_pob = "poblacion", - porcentaje = TRUE) { - stopifnot("El parametro data_event es obligatorio" = !missing(data_event), - "El parametro data_event debe ser un data.frame" = - is.data.frame(data_event), - "El parametro data_event no debe estar vacio" = - nrow(data_event) > 0, - "El parametro col_pob debe ser una cadena de caracteres" - = is.character(col_pob), - "El parametro porcentaje debe ser un booleano (TRUE o FALSE)" = - is.logical(porcentaje)) - data_event_especial <- obtener_casos_pob_especial(data_event) - data_event_especial_agrupada <- data.frame(poblacion = - data_event_especial$poblacion, - casos = - data_event_especial$casos) - return(data_event_especial_agrupada) -} - #' Agrupar por departamento y casos #' #' Función que agrupa los datos por códigos de departamento y diff --git a/man/agrupar_pob_especial.Rd b/man/agrupar_pob_especial.Rd deleted file mode 100644 index 96e19128..00000000 --- a/man/agrupar_pob_especial.Rd +++ /dev/null @@ -1,35 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/checking_data.R -\name{agrupar_pob_especial} -\alias{agrupar_pob_especial} -\title{Agrupar por población especial y casos} -\usage{ -agrupar_pob_especial(data_event, col_pob = "poblacion", porcentaje = TRUE) -} -\arguments{ -\item{data_event}{Un `data.frame` que contiene los datos de la enfermedad -o evento} - -\item{col_pob}{Un `character` (cadena de caracteres) con el nombre de la -columna que contiene las poblaciones especiales en los datos de la -enfermedad o evento; su valor por defecto es `"poblacion"`} - -\item{porcentaje}{Un `boolean` (TRUE o FALSE) que indica si se debe -agregar una columna con el porcentaje de casos; su valor por -defecto es `FALSE`} -} -\value{ -Un `data.frame` con los datos de la enfermedad o evento agrupados -por poblaciones especiales y casos -} -\description{ -Función que agrupa los datos de la enfermedad o evento por población -especial y casos -} -\examples{ -data(dengue2020) -data_limpia <- limpiar_data_sivigila(data_event = dengue2020) -agrupar_pob_especial(data_event = data_limpia, - col_pob = "poblacion", - porcentaje = TRUE) -} From e7e55d1fadb353d72abdbbd46a3dce7fd4fbf345 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:34:51 -0500 Subject: [PATCH 25/54] fix(plot_map): removed index table of map visualisation Ref: #146 & #161 --- R/plotting.R | 35 +---------------------------------- 1 file changed, 1 insertion(+), 34 deletions(-) diff --git a/R/plotting.R b/R/plotting.R index 65249d99..6fea57f3 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -74,7 +74,6 @@ plot_map <- function(data_agrupada, package = "sivirep"), "label_geo_analysis") cols_geo_ocurrencia <- NULL - data_tabla <- data.frame() nombres_col <- NULL etiqueta_relleno <- "Casos" fuente_data <- "Fuente: SIVIGILA, Instituto Nacional de Salud, Colombia" @@ -182,29 +181,10 @@ plot_map <- function(data_agrupada, polygon_seleccionado <- cbind(polygon_seleccionado, sf::st_coordinates(sf::st_centroid(polygon_seleccionado$geometry))) - if (!is.null(dpto)) { - data_tabla <- - data.frame(Indice = polygon_seleccionado$indice, - Codigo = polygon_seleccionado$id, - Municipio = - stringr::str_to_title(polygon_seleccionado$MPIO_CNMBR)) - } else { - data_tabla <- - data.frame(Indice = seq_along(data_agrupada$id), - Codigo = data_agrupada$id, - Departamento = - stringr::str_to_title(data_agrupada[[nombres_col]])) - } - data_tabla <- data_tabla[order(data_tabla$Indice), ] - sysfonts::font_add_google("Montserrat", "Montserrat") - showtext::showtext_auto() map <- ggplot2::ggplot(polygon_seleccionado) + ggplot2::ggtitle(label = titulo, subtitle = subtitulo) + ggplot2::geom_sf(data = polygon_seleccionado, ggplot2::aes(fill = .data$casos)) + - ggplot2::geom_sf_text(ggplot2::aes(label = .data$indice), - size = ggplot2::unit(3, "cm"), - fontface = "bold") + ggplot2::scale_fill_continuous(low = "#fcebfc", high = "#be0000", guide = "colorbar", na.value = "white") + ggplot2::theme_void() + @@ -215,20 +195,7 @@ plot_map <- function(data_agrupada, text = ggplot2::element_text(size = 14), legend.title = ggplot2::element_text(face = "bold")) + ggplot2::labs(caption = fuente_data, fill = etiqueta_relleno) - relleno <- 1 - tema_tabla <- gridExtra::ttheme_minimal(base_size = 14, - padding = ggplot2::unit(c(5, relleno), - "mm")) - tabla <- ggplot2::ggplot() + ggplot2::theme_void() + - ggplot2::annotation_custom(gridExtra::tableGrob(data_tabla, - theme = tema_tabla, - rows = NULL)) - mapa_tabla <- cowplot::plot_grid(map, - tabla, - align = "h", - rel_widths = c(2, 1), - nrow = 1) - return(mapa_tabla) + return(map) } #' Generar gráfico de distribución de casos por fecha de inicio de síntomas From 11f3373a20892822add824a89b3bcbd28f866e3e Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:35:48 -0500 Subject: [PATCH 26/54] chore(plot_map): added validation of fuente_data Ref: #154 --- R/plotting.R | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/R/plotting.R b/R/plotting.R index 6fea57f3..d6b34aa1 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -76,7 +76,9 @@ plot_map <- function(data_agrupada, cols_geo_ocurrencia <- NULL nombres_col <- NULL etiqueta_relleno <- "Casos" - fuente_data <- "Fuente: SIVIGILA, Instituto Nacional de Salud, Colombia" + if (is.null(fuente_data)) { + fuente_data <- "Fuente: SIVIGILA, Instituto Nacional de Salud, Colombia" + } stopifnot("El parametro fuente_data debe ser un cadena de caracteres" = is.character(fuente_data)) nombre_events <- unique(data_agrupada$nombre_evento)[1] From 35db3702e13f786aca0315bdfe6cdfc28ef46d35 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:41:13 -0500 Subject: [PATCH 27/54] feat(plot_map): visualize the entire department and shade the municipality When the user wants to generate the map by municipality, They'll visualize the entire department and the municipality will shade in red. Ref: #145 --- R/plotting.R | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/R/plotting.R b/R/plotting.R index d6b34aa1..91c3788b 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -81,6 +81,7 @@ plot_map <- function(data_agrupada, } stopifnot("El parametro fuente_data debe ser un cadena de caracteres" = is.character(fuente_data)) + color_min <- "#fcebfc" nombre_events <- unique(data_agrupada$nombre_evento)[1] cols_geo_ocurrencia <- obtener_tip_ocurren_geo(nombre_event = nombre_events) if (length(cols_geo_ocurrencia) > 1) { @@ -138,10 +139,8 @@ plot_map <- function(data_agrupada, if (!is.null(mpio)) { stopifnot("El parametro mpio debe ser un cadena de caracteres" = is.character(mpio)) - polygon_seleccionado <- - polygon_seleccionado[polygon_seleccionado$MPIO_CCDGO == - data_dept$codigo_municipio, ] titulo <- paste0(titulo, " , ", mpio) + color_min <- "#be0000" } colnames(polygon_seleccionado)[colnames(polygon_seleccionado) == "MPIO_CCDGO"] <- "id" @@ -187,7 +186,7 @@ plot_map <- function(data_agrupada, ggplot2::ggtitle(label = titulo, subtitle = subtitulo) + ggplot2::geom_sf(data = polygon_seleccionado, ggplot2::aes(fill = .data$casos)) + - ggplot2::scale_fill_continuous(low = "#fcebfc", high = "#be0000", + ggplot2::scale_fill_continuous(low = color_min, high = "#be0000", guide = "colorbar", na.value = "white") + ggplot2::theme_void() + ggplot2::theme(plot.title = ggplot2::element_text(hjust = 0.5, From 5d91601781c4eb668b8eeeaeb1e7a51adec78cdb Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:42:50 -0500 Subject: [PATCH 28/54] feat: change bar text color to white Ref: #154 --- R/plotting.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/plotting.R b/R/plotting.R index 91c3788b..cc6bd347 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -401,7 +401,7 @@ plot_sex <- function(data_agrupada, .data[["porcentaje"]], " %)")), vjust = 1.5, - color = "black", + color = "white", hjust = 0.5) + obtener_estetica_escala(escala = 2, nombre = "Sexo") + tema_sivirep() + @@ -422,7 +422,7 @@ plot_sex <- function(data_agrupada, ggplot2::theme_classic() + ggplot2::geom_text(ggplot2::aes(label = .data[[col_distribucion]]), vjust = 1.5, - color = "black", + color = "white", hjust = 0.5) + obtener_estetica_escala(escala = 2, nombre = "Sexo") + tema_sivirep() + From 4bab08cc7f0fb31f27a0b8d6cb7d9ff87f4fdad5 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:46:39 -0500 Subject: [PATCH 29/54] feat(plot_per_etn): added percentage in text bars Ref: #162 --- R/plotting.R | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/R/plotting.R b/R/plotting.R index cc6bd347..406db814 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -1223,17 +1223,16 @@ plot_per_etn <- function(data_agrupada, ggplot2::ggplot(data_agrupada, ggplot2::aes(x = .data[[col_etn]], y = .data[["casos"]])) + - ggplot2::geom_bar(stat = "identity", width = 0.5, + ggplot2::geom_bar(stat = "identity", fill = "#2274BB") + ggplot2::labs(x = paste0(etiqueta_etn, "\n"), y = paste0("\n", etiqueta_casos), caption = fuente_data) + { if (porcentaje) { ggplot2::geom_text(ggplot2::aes(label = paste0(.data[["porcentaje"]], - "%\n")), - vjust = 0.8, - color = "black", - hjust = 0) + "%")), + hjust = 0, + color = "black") } } + ggplot2::theme_classic() + From 123f5b4815b7a710d91653acd9354d25e1306179 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:47:22 -0500 Subject: [PATCH 30/54] feat(plot_per_etn): collapse axis text labels Ref: #162 --- R/plotting.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/plotting.R b/R/plotting.R index 406db814..58b03ad4 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -1236,7 +1236,8 @@ plot_per_etn <- function(data_agrupada, } } + ggplot2::theme_classic() + - ggplot2::scale_x_discrete(labels = etiquetas) + + ggplot2::scale_x_discrete(labels = stringr::str_wrap(etiquetas, + 5)) + tema_sivirep() + ggplot2::coord_flip() return(plot_per_etn) From 26e651edb68fb9a27099bca4a62cde6b362e6ec8 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:49:39 -0500 Subject: [PATCH 31/54] feat(skeleton): updated width and position of ethnicity plot Ref: #162 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index e12cef26..3b89aa1d 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -335,8 +335,15 @@ plot_top_areas_geo <- plot_top_area_geo(data_agrupada = dist_areas_geo) plot_top_areas_geo ``` +`r if(params$age_sex_distribution) {"# Distribución de casos por pertenencia étnica"}` + \newpage +```{r distribution_per_etn, fig.height = 5, fig.width = 13, fig.cap = "Distribución de casos por pertenencia étnica", include = params$age_sex_distribution} +casos_per_etn <- agrupar_per_etn(data_event = data_event_filtrada) +plot_per_etn(data_agrupada = casos_per_etn) +``` + # Incidencia ```{r total_incidence, results='hide', echo = FALSE, error = FALSE, warning = FALSE, include = FALSE, message = FALSE} From 7879ab301c7eaa94992ace5b67f1460bb7a70b11 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:53:50 -0500 Subject: [PATCH 32/54] chore: updated incidence label with geo ocurrence Ref: #163 --- inst/extdata/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inst/extdata/config.yml b/inst/extdata/config.yml index 19c7bb33..963e07d5 100644 --- a/inst/extdata/config.yml +++ b/inst/extdata/config.yml @@ -43,12 +43,12 @@ default: label_epiweek: "Semana epidemiológica" label_date_not: "Fecha de notificación" label_date_ini: "Fecha de inicio de síntomas" - label_geo_analysis: "Análisis efectuado por geografia de " + label_geo_analysis: "Análisis efectuado por geografía de " label_type_case: "Clasificación del caso" label_etn_groups: "Pertenencia étnica" projections_path: "https://raw.githubusercontent.com/TRACE-LAC/sivirep_incidence/main/data/proyecs_2005_2035.rda" projections_file_name: "proyecs_2005_2035.rda" incidence_events_path: "extdata/incidencia_events.xlsx" - caption_geo_incidence: "Incidencia según distribución geográfica" + caption_geo_incidence: "Incidencia por geografía de " caption_sex_incidence: "Incidencia por sexo" months: ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"] From 063c4c3dd6f84f8509d5d1020938411c26350a82 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:55:06 -0500 Subject: [PATCH 33/54] feat(plot_tabla_incidencia_geo): added geo occurrence in caption label Ref: #163 --- R/plotting.R | 1 + 1 file changed, 1 insertion(+) diff --git a/R/plotting.R b/R/plotting.R index 58b03ad4..3ea1f97c 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -1293,6 +1293,7 @@ plot_tabla_incidencia_geo <- function(data_agrupada, "config.yml", package = "sivirep"), "caption_geo_incidence") + caption_tabla <- paste0(caption_tabla, nomb_cols[5]) data_agrupada[[col_geo[2]]] <- stringr::str_to_title(data_agrupada[[col_geo[2]]]) data_tabla <- data_agrupada %>% From 17f9c8e49de6e0a0dcafffce34c88c278d750deb Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:56:03 -0500 Subject: [PATCH 34/54] fix: split long tables in different pages Ref: #154 --- R/plotting.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/plotting.R b/R/plotting.R index 3ea1f97c..9f1751a1 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -1307,7 +1307,8 @@ plot_tabla_incidencia_geo <- function(data_agrupada, etiqueta_geo, "Incidencia"), align = "c", - caption = caption_tabla) %>% + caption = caption_tabla, + longtable = TRUE) %>% kableExtra::row_spec(0, color = "white", background = "#2274BB") %>% kableExtra::kable_styling(full_width = FALSE, latex_options = "HOLD_position") From 5babd472b1fc1797d88eb2c089bd0ce91bc13542 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:56:52 -0500 Subject: [PATCH 35/54] fix(plot_area_geo): defined bar with to improve the visualisation Ref: #154 --- R/plotting.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/plotting.R b/R/plotting.R index 9f1751a1..fbebc153 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -806,7 +806,8 @@ plot_area_geo <- function(data_agrupada, ggplot2::aes(x = .data[[col_area]], y = .data[["casos"]])) + ggplot2::geom_bar(stat = "identity", - fill = "#2274BB") + + fill = "#2274BB", + width = 0.3) + ggplot2::labs(x = paste0("\n", etiqueta_area_geo), y = paste0(etiqueta_casos, "\n"), caption = fuente_data) + From 02cf744bc48ff257868ae2402e839ea69ffb775a Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 11:57:39 -0500 Subject: [PATCH 36/54] fix(plot_tabla_incidencia_sex): removed column with order Ref: #154 --- R/plotting.R | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/R/plotting.R b/R/plotting.R index fbebc153..f274ea62 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -1363,14 +1363,15 @@ plot_tabla_incidencia_sex <- function(data_agrupada, stringr::str_to_title(data_agrupada[["nombre_evento"]]) data_agrupada <- data_agrupada[order(data_agrupada$incidencia, decreasing = TRUE), ] - tabla_sex <- knitr::kable(data_agrupada[, c("cod_eve", - "nombre_evento", - col_sex, - "incidencia")], - col.names = c(etiqueta_cod, - "Evento", - etiqueta_sex, - "Incidencia"), + data_tabla <- data.frame(cod_eve = data_agrupada$cod_eve, + nombre_evento = data_agrupada$nombre_evento, + sexo = data_agrupada$sexo, + incidencia = data_agrupada$incidencia) + tabla_sex <- knitr::kable(data_tabla, + col.names = c(etiqueta_cod, + "Evento", + etiqueta_sex, + "Incidencia"), align = "c", caption = caption_tabla) %>% kableExtra::row_spec(0, color = "white", background = "#2274BB") %>% From 38068f8cd57a8a2b3ab8dd6082e345eca26b4c0e Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 12:08:05 -0500 Subject: [PATCH 37/54] chore(skeleton): updated width of spatial distribution map Ref: #146 & #161 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index 3b89aa1d..fa79381a 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -400,7 +400,7 @@ plot_tabla_incidencia_geo(dist_espacial_dpto) mapa <- plot_map(data_agrupada = dist_espacial_dpto) ``` -```{r map_distribution_spatial, echo = FALSE, error = FALSE, warning = FALSE, include = TRUE, message = FALSE, cache = FALSE, results = FALSE, comment = FALSE, fig.height = 16, fig.width = 14, fig.cap = "Incidencia según distribución geográfica", include = params$spatial_distribution} +```{r map_distribution_spatial, echo = FALSE, error = FALSE, warning = FALSE, include = TRUE, message = FALSE, cache = FALSE, results = FALSE, comment = FALSE, fig.height = 18, fig.width = 16, fig.cap = "Incidencia según distribución geográfica", include = params$spatial_distribution} mapa ``` From d2d14a4e88fdcbbea0c8aa37ffb6447081425ff5 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 12:09:39 -0500 Subject: [PATCH 38/54] fix: added some new lines --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index fa79381a..9283adb8 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -108,6 +108,7 @@ fuente <- "Fuente SIVIGILA, Datos libres" \end{tikzpicture} } ``` + ```{=tex} \begin{textblock*}{5cm}(15cm,18cm) % {block width} (coords) \begin{flushright} @@ -116,6 +117,7 @@ fuente <- "Fuente SIVIGILA, Datos libres" \end{flushright} \end{textblock*} ``` + \newpage ```{=tex} @@ -123,12 +125,14 @@ fuente <- "Fuente SIVIGILA, Datos libres" \huge{\textbf{\\ `r titulo`}} \end{center} ``` + ```{=tex} \begin{center} \large{\textbf{`r fuente` \\[0.4in]}} \includegraphics[width=1in]{logo.png} \end{center} ``` + ```{=html}
From 97dbc85c516f9162caac7267599108e19bab340c Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 12:12:25 -0500 Subject: [PATCH 39/54] fix: removed description related to distribution by notification date Ref: #146 & #164 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index 9283adb8..9f9627d9 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -224,7 +224,7 @@ mes_mayor_casos <- obtener_meses_mas_casos(data_event = col_fechas = "ini_sin") ``` -`r if (params$temporal_distribution) {paste0("Los casos se distribuyen a lo largo de los meses de enero a diciembre de ", params$year, " teniendo un mayor reporte en el mes de ", mes_mayor_casos$meses, " tanto por fecha de inicio de síntomas (Ver Figura 1) como por fecha de notificación (Ver Figura 2).")}` +`r if (params$temporal_distribution) {paste0("Los casos se distribuyen a lo largo de los meses de enero a diciembre de ", params$year, " teniendo un mayor reporte en el mes de ", mes_mayor_casos$meses, " por fecha de inicio de síntomas (Ver Figura 1)")}` \newpage From 116586d7518b740b87bed3bb8dcb04ad67a94056 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 12:14:31 -0500 Subject: [PATCH 40/54] =?UTF-8?q?fix(skeleton):=20removed=20title=20Distri?= =?UTF-8?q?buci=C3=B3n=20de=20casos=20por=20fecha=20de=20inicio=20de=20sin?= =?UTF-8?q?tomas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ref: #164 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index 9f9627d9..2e86bbb6 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -228,9 +228,7 @@ mes_mayor_casos <- obtener_meses_mas_casos(data_event = \newpage -**Distribución de casos por fecha de inicio de sintomas** - -```{r plot_cases_by_onset_symptom_date, fig.height = 5, fig.width = 11, fig.cap = "Distribución de casos por fecha de inicio de sintomas", include = params$temporal_distribution, eval = params$temporal_distribution} +```{r plot_cases_by_onset_symptom_date, fig.height = 4, fig.width = 11, fig.cap = "Distribución de casos por fecha de inicio de sintomas", include = params$temporal_distribution, eval = params$temporal_distribution} plot_fecha_inisintomas(data_agrupada = casos_iniciosin_dia, uni_marca = "semanaepi") ``` From 0c721624dc1ee115842a71256de262ac6d375e6a Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 12:15:28 -0500 Subject: [PATCH 41/54] fix(skeleton): sex definition with most cases Ref: #164 --- .../templates/reports/skeleton/skeleton.Rmd | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index 2e86bbb6..e1b2841b 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -237,10 +237,14 @@ plot_fecha_inisintomas(data_agrupada = casos_iniciosin_dia, ```{r distribution_cg, include = FALSE} casos_sex <- agrupar_sex(data_event = data_event_filtrada) -porcentaje_masculino <- casos_sex$porcentaje[2] -porcentaje_femenino <- casos_sex$porcentaje[1] -sexo_mayor_casos <- obtener_fila_mas_casos(data_event = casos_sex) - +porcentaje_femenino <- + casos_sex[which(casos_sex$sexo == "F" & + casos_sex$nombre_evento == + toupper(params$nombre_evento)), ]$porcentaje +porcentaje_masculino <- + casos_sex[which(casos_sex$sexo == "M" & + casos_sex$nombre_evento == + toupper(params$nombre_evento)), ]$porcentaje sexo_mayor <- c("femenino", porcentaje_femenino) sexo_menor <- c("masculino", porcentaje_masculino) if (isTRUE(porcentaje_femenino < porcentaje_masculino)) { From 8c01af5d62a9fac6b6824ac905618958a9a8a723 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 12:16:19 -0500 Subject: [PATCH 42/54] fix(skeleton): sex plot withd Ref: #164 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index e1b2841b..6524e52c 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -255,7 +255,7 @@ if (isTRUE(porcentaje_femenino < porcentaje_masculino)) { `r if (params$epi_sex_distribution) {paste0("En el total de casos para ", params$year, " se observa una predominancia del sexo ", sexo_mayor[1], " (", sexo_mayor[2], ")% respecto al sexo ", sexo_menor[1], " (", sexo_menor[2], ")% (Ver Figura 3).")}` -```{r distribution_cg_plots, fig.height = 4, fig.width = 8, fig.cap = "Distribución de casos por sexo", include = params$epi_sex_distribution} +```{r distribution_cg_plots, fig.height = 5, fig.width = 8, fig.cap = "Distribución de casos por sexo", include = params$epi_sex_distribution} plot_sex(data_agrupada = casos_sex) ``` From 839e0074484967f940dd35c82f07106e80511877 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 12:16:54 -0500 Subject: [PATCH 43/54] fix(skeleton): added new pages Ref: #164 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index 6524e52c..c9323c2e 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -263,14 +263,14 @@ plot_sex(data_agrupada = casos_sex) casos_sex_semanaepi <- agrupar_sex_semanaepi(data_event = data_event_filtrada) ``` +\newpage + `r if (params$epi_sex_distribution) {paste0("Esta predominancia del reporte de casos del sexo ", sexo_mayor[1], " se mantuvo a lo largo de la mayoria de semanas epidemiológicas (Ver figura 4). ")}` ```{r plot_cg_semanaepi, fig.height = 6, fig.width = 10, fig.cap = "Distribución de casos por sexo y semana epidemiológica", include = params$epi_sex_distribution, fig.pos = "H"} plot_sex_semanaepi(data_agrupada = casos_sex_semanaepi) ``` -\newpage - `r if (params$age_distribution) {"# Distribución de casos por edad"}` ```{r distribution_age_d, include = FALSE} @@ -284,6 +284,8 @@ age_most_cases <- obtener_fila_mas_casos(data_event = casos_edad) plot_edad(data_agrupada = casos_edad) ``` +\newpage + `r if(params$age_sex_distribution) {"# Distribución de casos por edad y sexo"}` ```{r distribution_age_anger, fig.height = 3, fig.width = 9, fig.cap = "Distribución de casos por edad y sexo", include = params$age_sex_distribution} @@ -386,6 +388,8 @@ plot_sex(data_agrupada = incidencias_sex, porcentaje = FALSE) ``` +\newpage + `r if(params$spatial_distribution) {"# Incidencia según distribución geográfica"}` La incidencia para cada uno de los municipios del departamento del `r params$departmento` por `r cond_incidencia$coeficiente` habitantes es la siguiente: From 913836c1ca34f15101375d1ae21c93b1b18f9562 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 12:19:11 -0500 Subject: [PATCH 44/54] fix(skeleton): description of distribution by age MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaced the phrase "etarios muestra una tendencia decreciente a medida que se avanza en la edad" with "La distribución de los casos por grupos de edad muestra que la población de". Ref: #166 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index c9323c2e..00f3599c 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -278,7 +278,7 @@ casos_edad <- agrupar_edad(data_event = data_event_filtrada, interval_edad = 10) age_most_cases <- obtener_fila_mas_casos(data_event = casos_edad) ``` -`r if (params$age_distribution) {paste0("La distribución de los casos por grupos etarios muestra una tendencia decreciente a medida que se avanza en la edad. La población de ", age_most_cases$edad, " años representó el ", age_most_cases$porcentaje, " % de todos los casos de ", stringr::str_to_title(params$nombre_evento), " (Ver figura 5).")}` +`r if (params$age_distribution) {paste0("La distribución de los casos por grupos de edad muestra que la población de ", age_most_cases$edad, " años representó el ", age_most_cases$porcentaje, " % de todos los casos de ", stringr::str_to_title(params$nombre_evento), " (Ver figura 5).")}` ```{r distribution_age, fig.height = 3, fig.width = 8, fig.cap = "Distribución de casos por edad", include = params$age_distribution} plot_edad(data_agrupada = casos_edad) From 97b0e6bc63bd034d7eb241f2c77924b252e8f9c0 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 12:20:08 -0500 Subject: [PATCH 45/54] chore(skeleton): moved distribution by ethnicity section Ref: #164 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 9 --------- 1 file changed, 9 deletions(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index 00f3599c..b3b498f8 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -294,15 +294,6 @@ casos_edad_sex <- agrupar_edad_sex(data_event = data_event_filtrada, plot_edad_sex(data_agrupada = casos_edad_sex) ``` -\newpage - -`r if(params$age_sex_distribution) {"# Distribución de casos por pertenencia étnica"}` - -```{r distribution_per_etn, fig.height = 8, fig.width = 9, fig.cap = "Distribución de casos por pertenencia étnica", include = params$age_sex_distribution} -casos_per_etn <- agrupar_per_etn(data_event = data_event_filtrada) -plot_per_etn(data_agrupada = casos_per_etn) -``` - `r if(params$mpio_distribution) {"# Distribución de casos por municipio"}` ```{r group_distribution_municipios, results='hide', echo = FALSE, error = FALSE, warning = FALSE, include = FALSE, message = FALSE} From a42b52ef26fa754eb8dcd0ca067dcc296f60fee6 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 16:23:18 -0500 Subject: [PATCH 46/54] fix: replace nombre to municipality name corresponding to geo ocurrence Ref: #154 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index b3b498f8..7caa7fb1 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -302,9 +302,11 @@ dist_espacial_dpto <- agrupar_mpio(data_event = data_event_filtrada, dist_espacial_dpto <- dist_espacial_dpto[order(dist_espacial_dpto$casos), ] espacial_mayor_casos <- obtener_fila_mas_casos(data_event = dist_espacial_dpto) +geo_ocurrencia <- obtener_tip_ocurren_geo(nombre_event = params$nombre_evento) +col_geo <- geo_ocurrencia[4] ``` -`r if(params$mpio_distribution) {paste0("Los casos se distribuyen a lo largo de ", nrow(dist_espacial_dpto), " municipios del departamento de ", params$departmento, " teniendo un mayor reporte el municipio de ", stringr::str_to_title(espacial_mayor_casos$nombre), " con ", espacial_mayor_casos$casos, " casos (Ver Figura 7).")}` +`r if(params$mpio_distribution) {paste0("Los casos se distribuyen a lo largo de ", nrow(dist_espacial_dpto), " municipios del departamento de ", params$departmento, " teniendo un mayor reporte el municipio de ", stringr::str_to_title(espacial_mayor_casos[[col_geo]]), " con ", espacial_mayor_casos$casos, " casos (Ver Figura 7).")}` ```{r plot_distribution_municipios, fig.height = 15, fig.width = 10, fig.cap = "Distribución de casos por municipio", include = params$mpio_distribution} plot_spatial <- plot_mpios(data_agrupada = dist_espacial_dpto) From 2e80767324e4d788a407cd71347a28c417404487 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 16:26:15 -0500 Subject: [PATCH 47/54] chore(skeleton): updated width geo area plot Ref: #154 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index 7caa7fb1..fbc468a1 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -321,7 +321,7 @@ plot_spatial dist_areas_geo <- agrupar_area_geo(data_event = data_event_filtrada) ``` -```{r plot_distribution_areas, fig.height = 11.5, fig.width = 10, fig.cap = "Distribución de casos por área geográfica", include = params$areas_distribution, fig.pos = "H"} +```{r plot_distribution_areas, fig.height = 3, fig.width = 7, fig.cap = "Distribución de casos por área geográfica", include = params$areas_distribution, fig.pos = "H"} plot_areas_geo <- plot_area_geo(data_agrupada = dist_areas_geo) plot_areas_geo ``` From 2108f2410f1f5c581f88597f521d9fddf88bf169 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 16:26:59 -0500 Subject: [PATCH 48/54] chore(skeleton): updated height top 10 geo area plot Ref: #154 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index fbc468a1..ae2c4510 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -331,8 +331,9 @@ dist_top_areas_geo <- agrupar_top_area_geo(data_event = data_event_filtrada) ``` Los 10 municipios que presentaron mayor número de casos por área geográfica son los siguientes: -```{r plot_top_areas, fig.height = 11.5, fig.width = 10, fig.cap = "Distribución de los 10 municipios con más casos por área geográfica", include = params$areas_distribution, fig.pos = "H"} -plot_top_areas_geo <- plot_top_area_geo(data_agrupada = dist_areas_geo) + +```{r plot_top_areas, fig.height = 5, fig.width = 10, fig.cap = "Distribución de los 10 municipios con más casos por área geográfica", include = params$areas_distribution, fig.pos = "H"} +plot_top_areas_geo <- plot_top_area_geo(data_agrupada = dist_top_areas_geo) plot_top_areas_geo ``` From c7e70b03c930e1a64143603764ef98718ec3169b Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 16:28:47 -0500 Subject: [PATCH 49/54] chore(skeleton): updated height and width of sex incidence plot Ref: #154 --- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index ae2c4510..e189f256 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -376,7 +376,7 @@ incidencias_sex <- calcular_incidencia_sex(data_incidencia = proyecciones, plot_tabla_incidencia_sex(incidencias_sex) ``` -```{r sex_incidence_plot, fig.height = 4, fig.width = 8, fig.cap = "Incidencia por sexo", include = params$epi_sex_distribution} +```{r sex_incidence_plot, fig.height = 3, fig.width = 7, fig.cap = "Incidencia por sexo", include = params$epi_sex_distribution} plot_sex(data_agrupada = incidencias_sex, col_distribucion = "incidencia", porcentaje = FALSE) From 2cda200dbf550407124a0ab987aeef2d0736f3b1 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 16:43:52 -0500 Subject: [PATCH 50/54] chore: removed unnecessary keys Ref: #154 --- inst/extdata/config.yml | 4 ---- inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/inst/extdata/config.yml b/inst/extdata/config.yml index 963e07d5..d548c838 100644 --- a/inst/extdata/config.yml +++ b/inst/extdata/config.yml @@ -13,10 +13,6 @@ default: sivigila_open_data_path: "https://www.datos.gov.co/api/views/qvnt-2igj/rows.csv?accessType=DOWNLOAD" geo_data_path: "https://www.datos.gov.co/api/views/gdxc-w37w/rows.csv?accessType=DOWNLOAD" data_folder: "data/" - age_categorie_conditionals: [ "age_num < 2", "age_num >= 2 && age_num <= 4", "age_num >= 5 && age_num <= 14", "age_num >= 15 && age_num <= 39", "age_num >=40 && age_num <= 59", "age_num >= 60"] - age_categorie_labels: [ "<2 años", "2 a 4 años", "5 a 14 años", "15 a 39 años", "40 a 59 años", "60 y más"] - respiratory_virus_column_names: [ "influenza_a_h1_2009", "influenza_a_h1", "influenza_a_h3", "influenza_b", "metapneumovirus_humano", "rinovirus_enterovirus_humano", "virus_sincitial_respiratorio", "adenovirus"] - respiratory_virus_names: [ "H1N1 2009", "H1N1", "H3N1", "Influenza B", "Metapneumovirus", "Rinovirus", "VSR", "Adenovirus"] additional_diseases: ["Malaria", "Intento De Suicidio", "Zika"] related_diseases: {"MORTALIDAD MATERNA": "MORBILIDAD MATERNA EXTREMA"} dates_column_names: ["fecha_nto", "fec_not", "ini_sin", "fec_hos", "fec_def", "fec_con"] diff --git a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd index e189f256..57d67e95 100644 --- a/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/reports/skeleton/skeleton.Rmd @@ -6,6 +6,8 @@ output: number_sections: true fig_caption: true css: style.css + pdf_document: + number_sections: true word_document: number_sections: true header-includes: From 74c3528ca2a5c3a910fb26ef8df9d42e53ee464d Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 16:44:52 -0500 Subject: [PATCH 51/54] chore(plot_per_etn): updated axis label key Ref #162 --- inst/extdata/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/extdata/config.yml b/inst/extdata/config.yml index d548c838..30bccf0f 100644 --- a/inst/extdata/config.yml +++ b/inst/extdata/config.yml @@ -29,7 +29,7 @@ default: dpto_shape_file: "extdata/depto_adm_shp_simp/depto.shp" labels_geo_areas: ["Cabecera municipal", "Centro poblado", "Rural disperso"] labels_cas_tip: {"1": "Sospechoso", "2": "Probable", "3": "Confirmado por laboratorio", "4": "Confirmado por clinica", "5": "Confirmado por nexo epidemiologico"} - labels_per_etn: {"1": "Indigena", "2": "ROM/Gitano", "3": "Raizal", "4": "Palenquero", "5": "Negro/Mulato/Afrocolombiano", "6": "Otro"} + labels_per_etn: {"1": "Indigena", "2": "ROM/ Gitano", "3": "Raizal", "4": "Palenquero", "5": "Negro/ Mulato/ Afrocolombiano", "6": "Otro"} label_year: "Año" label_cases: "Número de casos" label_incidence: "Incidencia" From c6e44635b13be8339c966930576e5b99c19a9f78 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Thu, 9 May 2024 16:46:26 -0500 Subject: [PATCH 52/54] chore(styles): increased font size and weight Ref: #154 --- inst/rmarkdown/templates/reports/skeleton/style.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/inst/rmarkdown/templates/reports/skeleton/style.css b/inst/rmarkdown/templates/reports/skeleton/style.css index 3e301138..5dd4edd9 100644 --- a/inst/rmarkdown/templates/reports/skeleton/style.css +++ b/inst/rmarkdown/templates/reports/skeleton/style.css @@ -80,4 +80,12 @@ p { .year { margin-top: 0; +} + +th { + font-weight: 600; +} + +.titulo h1 { + font-size: 24pt; } \ No newline at end of file From 8dc1373c3af66a6d913137dd46b7ec05674e8334 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Fri, 10 May 2024 13:47:07 -0500 Subject: [PATCH 53/54] chore(ct_analysis): removed section 4.2 related to notification date Ref: #165 & #154 --- vignettes/custom_analysis.Rmd | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/vignettes/custom_analysis.Rmd b/vignettes/custom_analysis.Rmd index e38a60b4..4a72d8f9 100644 --- a/vignettes/custom_analysis.Rmd +++ b/vignettes/custom_analysis.Rmd @@ -144,28 +144,6 @@ plot_fecha_inisintomas(data_agrupada = casos_ini_sintomas, uni_marca = "semanaepi") ``` -#### 4.2. Agrupar los datos por fecha de notificación en la escala temporal deseada - -El proceso para generar la distribución de casos por fecha de -notificación consiste en agrupar los datos de enfermedades por esta -variable. Puedes utilizar la siguiente función de `sivirep` para hacer -esto: - -```{r agrupar_fecha_notificacion} -casos_fecha_notificacion <- agrupar_fecha_notifica(data_event = - data_event) -``` - -El gráfico que permite visualizar esta distribución debe generarse con -la función `plot_fecha_notifica`. Ten en cuenta que, aunque hayas -agrupado los datos por día, es posible que prefieras representarlos por -semana epidemiológica, como en: - -```{r plot_fecha_notificacion, fig.height = 5, fig.width = 10} -plot_fecha_notifica(data_agrupada = casos_fecha_notificacion, - uni_marca = "semanaepi") -``` - ### 5. Edad y sexo ### 5.1. Variable de sexo From 31176dc81a9a4c999e62d97602ede053bdfdd495 Mon Sep 17 00:00:00 2001 From: GeraldineGomez Date: Fri, 10 May 2024 13:48:59 -0500 Subject: [PATCH 54/54] chore: removed cowplot & gridExtra dependencies Ref: #145 --- DESCRIPTION | 2 -- 1 file changed, 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 5aca5630..b1b163e6 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -38,8 +38,6 @@ Imports: readxl, sysfonts, showtext, - cowplot, - gridExtra, kableExtra Suggests: knitr,