Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chore: description, examples and test #213

Merged
merged 22 commits into from
Nov 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
78517ea
chore: improve package's description
GeraldineGomez Nov 12, 2024
1b90896
feat(obtener_ruta_dir): add cache parameter
GeraldineGomez Nov 13, 2024
1fab175
feat: add ruta_dir parameter and use tempdir() in examples
GeraldineGomez Nov 13, 2024
0f899aa
chore: wrap examples with donttest
GeraldineGomez Nov 13, 2024
9462e08
chore: replace dontrun with dontest in examples
GeraldineGomez Nov 13, 2024
9ec3855
chore: use ruta_dir = tempdir() and cache paramer in examples
GeraldineGomez Nov 13, 2024
92da1b1
chore: set cache = FALSE
GeraldineGomez Nov 13, 2024
071e2bd
chore(plot_fecha_ini): wrap example with donttest
GeraldineGomez Nov 13, 2024
88bdc89
chore(plot): use ruta_dir = tempdir() and cache param in examples
GeraldineGomez Nov 13, 2024
63ddc02
chore(plot_year): replace dontrun with donttest in examples
GeraldineGomez Nov 13, 2024
ecf71cc
chore: add ruta_dir parameter to invoke import_pob_incidencia
GeraldineGomez Nov 13, 2024
2f91cb3
test: use ruta_dir = tempdir() to invoke import function
GeraldineGomez Nov 13, 2024
fe96282
chore(custom_analysis): add cache parameter
GeraldineGomez Nov 13, 2024
69b0c68
chore(custom_analysis): add cache parameter
GeraldineGomez Nov 13, 2024
1b75479
feat(incidence): add cache and ruta_dir parameter
GeraldineGomez Nov 13, 2024
f9ad459
chore(skeleton): add cache input
GeraldineGomez Nov 13, 2024
b089d72
chore(skeleton): add logic for ruta_dir and cache params
GeraldineGomez Nov 13, 2024
087096d
feat(incidencia_geo): send ruta_dir and cache params
GeraldineGomez Nov 13, 2024
bd84938
fix(skeleton): logic of ruta_dir and cache
GeraldineGomez Nov 13, 2024
b969219
chore: add new CRAN comments
GeraldineGomez Nov 18, 2024
4db8899
chore(README): add CRAN badge
GeraldineGomez Nov 18, 2024
7c396fd
Automatic readme update
actions-user Nov 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,14 @@ Authors@R:
person("International Development Research Center (IDRC)", role = "fnd"),
person("Pontificia Universidad Javeriana", role = "cph")
)
Description: Data wrangling and generating automated reports from Colombia's
epidemiological surveillance system, 'SIVIGILA'.
Description: Data wrangling, pre-processing, and generating automated reports
from Colombia's epidemiological surveillance system,
'SIVIGILA' <https://portalsivigila.ins.gov.co/>. It provides a
customizable R Markdown template for analysis and automatic
generation of epidemiological reports that can be adapted to local,
regional, and national contexts. This tool offers a standardized and
reproducible workflow that helps to reduce manual labor and potential
errors in report generation, improving their efficiency and consistency.
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
Expand Down
58 changes: 42 additions & 16 deletions R/checking_data.R
Original file line number Diff line number Diff line change
Expand Up @@ -875,6 +875,9 @@ agrupar_per_etn <- function(data_event, cols_etn = "per_etn",
#' las proyecciones poblaciones DANE. Si este parámetro está vacío, se importará
#' la población a riesgo o las proyecciones, dependiendo de la disponibilidad de
#' la información; su valor por defecto es `NULL`.
#' @param ruta_dir Un `character` (cadena de caracteres) que especifica la ruta
#' del directorio donde se almacenarán la población a riesgo o las proyecciones
#' poblacionales DANE. Su valor por defecto es `NULL`.
#' @param cache Un `logical` (`TRUE` o `FALSE`) que indica si la población a
#' riesgo o las proyecciones poblacionales DANE descargadas deben ser
#' almacenados en caché. Su valor por defecto es `FALSE`.
Expand Down Expand Up @@ -908,30 +911,33 @@ agrupar_per_etn <- function(data_event, cols_etn = "per_etn",
#' data_agrupada = data_agrupada_mpios,
#' poblacion = "proyecciones",
#' dpto = "05",
#' year = 2020
#' year = 2020,
#' cache = TRUE
#' )
#' # Cálculo de la incidencia con proyecciones poblacionales por municipio
#' calcular_incidencia(
#' data_agrupada = data_agrupada_mpios,
#' poblacion = "proyecciones",
#' dpto = "Antioquia",
#' mpio = "05001",
#' year = 2020
#' year = 2020,
#' ruta_dir = tempdir()
#' )
#' # Cálculo de la incidencia con población a riesgo para Colombia
#' data_agrupada_dptos <- agrupar_dpto(data_limpia)
#' calcular_incidencia(
#' poblacion = "riesgo",
#' data_agrupada = data_agrupada_dptos,
#' year = 2020
#' year = 2020,
#' cache = TRUE
#' )
#' }
#' @export
calcular_incidencia <- function(data_incidencia = NULL,
cache = FALSE, data_agrupada,
poblacion = NULL, year = NULL,
dpto = NULL, mpio = NULL,
sex = NULL) {
cache = FALSE, ruta_dir = NULL,
data_agrupada, poblacion = NULL,
year = NULL, dpto = NULL,
mpio = NULL, sex = NULL) {
validar_data_agrupada(data_agrupada)
nombre_evento <- data_agrupada$nombre_evento[1]
vals_event <-
Expand All @@ -949,6 +955,7 @@ calcular_incidencia <- function(data_incidencia = NULL,
poblacion = poblacion,
event = nombre_evento,
year = year,
ruta_dir = ruta_dir,
cache = cache
)
data_incidencia <- pop_incidencia$data_incidencia
Expand Down Expand Up @@ -1038,6 +1045,9 @@ calcular_incidencia <- function(data_incidencia = NULL,
#' para todos los departamentos de Colombia o los municipios de un departamento.
#' @param data_incidencia Un `data.frame` que contiene las proyecciones
#' poblacionales del DANE; su valor por defecto es `NULL`.
#' @param ruta_dir Un `character` (cadena de caracteres) que especifica la ruta
#' del directorio donde se almacenarán la población a riesgo o las proyecciones
#' poblacionales DANE. Su valor por defecto es `NULL`.
#' @param cache Un `logical` (`TRUE` o `FALSE`) que indica si la población a
#' riesgo o las proyecciones poblacionales DANE descargadas deben ser
#' almacenados en caché. Su valor por defecto es `FALSE`.
Expand All @@ -1061,19 +1071,22 @@ calcular_incidencia <- function(data_incidencia = NULL,
#' calcular_incidencia_geo(
#' poblacion = "riesgo",
#' data_agrupada = data_agrupada_mpios,
#' year = 2020
#' year = 2020,
#' cache = TRUE
#' )
#' data_agrupada_dptos <- agrupar_dpto(data_limpia)
#' # Cálculo de la incidencia con proyecciones poblacionales para Colombia
#' calcular_incidencia_geo(
#' poblacion = "proyecciones",
#' data_agrupada = data_agrupada_dptos,
#' year = 2020
#' year = 2020,
#' ruta_dir = tempdir()
#' )
#' }
#' @export
calcular_incidencia_geo <- function(data_incidencia = NULL,
cache = FALSE,
ruta_dir = NULL,
data_agrupada,
poblacion = NULL,
year = NULL) {
Expand All @@ -1095,7 +1108,8 @@ calcular_incidencia_geo <- function(data_incidencia = NULL,
poblacion = poblacion,
event = nombre_evento,
year = year,
cache = cache
cache = cache,
ruta_dir = ruta_dir
)
data_incidencia <- pop_incidencia$data_incidencia
poblacion <- pop_incidencia$poblacion
Expand All @@ -1122,7 +1136,9 @@ calcular_incidencia_geo <- function(data_incidencia = NULL,
data_agrupada = dpto_fila,
poblacion = poblacion,
dpto = dpto_fila[[nomb_cols[1]]],
year = year
year = year,
cache = cache,
ruta_dir = ruta_dir
)
geo_incidencia[fila] <- incidencia$incidencia
}
Expand Down Expand Up @@ -1150,7 +1166,9 @@ calcular_incidencia_geo <- function(data_incidencia = NULL,
poblacion = poblacion,
dpto = mpio_fila[[nomb_cols[1]]],
mpio = mpio_fila[[nomb_cols[3]]],
year = year
year = year,
cache = cache,
ruta_dir = ruta_dir
)
geo_incidencia[fila] <- incidencia$incidencia
}
Expand All @@ -1171,6 +1189,9 @@ calcular_incidencia_geo <- function(data_incidencia = NULL,
#' por cada sexo.
#' @param data_incidencia Un `data.frame` que contiene las proyecciones
#' poblacionales del DANE; su valor por defecto es `NULL`.
#' @param ruta_dir Un `character` (cadena de caracteres) que especifica la ruta
#' del directorio donde se almacenarán la población a riesgo o las proyecciones
#' poblacionales DANE. Su valor por defecto es `NULL`.
#' @param cache Un `logical` (`TRUE` o `FALSE`) que indica si la población a
#' riesgo o las proyecciones poblacionales DANE descargadas deben ser
#' almacenados en caché. Su valor por defecto es `FALSE`.
Expand Down Expand Up @@ -1201,7 +1222,8 @@ calcular_incidencia_geo <- function(data_incidencia = NULL,
#' calcular_incidencia_sex(
#' data_agrupada = data_agrupada,
#' dpto = "05",
#' year = 2020
#' year = 2020,
#' cache = TRUE
#' )
#' #' Cálculo de la incidencia con proyecciones poblacionales por sexo y
#' # municipio
Expand All @@ -1213,11 +1235,13 @@ calcular_incidencia_geo <- function(data_incidencia = NULL,
#' calcular_incidencia_sex(
#' data_agrupada = data_agrupada,
#' dpto = "05",
#' mpio = "Medellin"
#' mpio = "Medellin",
#' ruta_dir = tempdir()
#' )
#' }
#' @export
calcular_incidencia_sex <- function(data_incidencia = NULL,
ruta_dir = NULL,
cache = FALSE,
data_agrupada,
year = NULL, dpto = NULL,
Expand All @@ -1231,7 +1255,7 @@ calcular_incidencia_sex <- function(data_incidencia = NULL,
if (is.null(data_incidencia)) {
data_incidencia <-
import_pob_incidencia(poblacion = "proyecciones", year = year,
cache = cache)
cache = cache, ruta_dir = ruta_dir)
message(
"Las incidencias se calcularon con las proyecciones ",
"poblacionales DANE. Si usted cuenta con la poblacion ",
Expand Down Expand Up @@ -1281,7 +1305,9 @@ calcular_incidencia_sex <- function(data_incidencia = NULL,
dpto = dpto,
mpio = mpio,
sex = sex_fila[["sexo"]],
year = year
year = year,
cache = cache,
ruta_dir = ruta_dir
)
incidencia[fila] <- incidencia_sex$incidencia
}
Expand Down
48 changes: 29 additions & 19 deletions R/import_data.R
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,9 @@ realizar_peticion_http <- function(url) {
#' @return Un `data.frame` con los nombres y códigos de los departamentos
#' y municipios de Colombia.
#' @examples
#' \donttest{
#' import_geo_cods(descargar = FALSE)
#' }
#' @export
import_geo_cods <- function(descargar = FALSE) {
stopifnot("El parametro descargar debe ser un booleano"
Expand All @@ -77,8 +79,10 @@ import_geo_cods <- function(descargar = FALSE) {
#' @return Una `list` con las enfermedades y los años disponibles
#' para su descarga desde los microdatos del SIVIGILA.
#' @examples
#' \dontrun{
#' list_events()
#' \donttest{
#' if (interactive()) {
#' list_events()
#' }
#' }
#' @export
list_events <- function() {
Expand Down Expand Up @@ -158,16 +162,18 @@ list_events <- function() {
#' @return Un `data.frame` con los datos del año de la enfermedad o evento
#' seleccionado desde los microdatos del SIVIGILA.
#' @examples
#' \dontrun{
#' \donttest{
#' if (interactive()) {
#' import_data_event(nombre_event = "DENGUE",
#' years = 2020,
#' cache = TRUE)
#' import_data_event(nombre_event = "CHAGAS",
#' years = c(2019, 2020),
#' cache = TRUE)
#' ruta_dir = tempdir())
#' import_data_event(nombre_event = "CHAGAS",
#' years = seq(2018, 2020),
#' cache = TRUE)
#' }
#' }
#' @export
import_data_event <- function(nombre_event,
Expand Down Expand Up @@ -254,8 +260,8 @@ import_sep_data <- function(ruta_data = NULL,
cache = FALSE) {
data_archivo <- data.frame()
ruta_dir <-
obtener_ruta_dir(ruta_dir,
"los datos de la enfermedad o evento")
obtener_ruta_dir(ruta_dir = ruta_dir, cache = cache,
mensaje_error = "los datos de la enfermedad o evento")
if (!dir.exists(ruta_dir)) {
stop("La ruta ingresada en el parametro ruta_dir no existe")
}
Expand Down Expand Up @@ -314,17 +320,19 @@ import_sep_data <- function(ruta_data = NULL,
#' @examples
#' \donttest{
#' # Importación proyecciones poblaciones DANE
#' import_pob_incidencia(poblacion = "proyecciones", year = 2020)
#' import_pob_incidencia(poblacion = "proyecciones", year = 2020,
#' cache = TRUE)
#' # Importación población a riesgo de Dengue del año 2020
#' import_pob_incidencia(poblacion = "riesgo", event = "dengue", year = 2020)
#' import_pob_incidencia(poblacion = "riesgo", event = "dengue", year = 2020,
#' ruta_dir = tempdir())
#' }
#' @export
import_pob_incidencia <- function(
poblacion = c("riesgo", "proyecciones"),
event,
year,
ruta_dir = NULL,
cache = NULL
cache = FALSE
) {
stopifnot("El parametro poblacion no debe estar vacio" =
!missing(poblacion),
Expand All @@ -333,9 +341,11 @@ import_pob_incidencia <- function(
poblacion <- match.arg(poblacion)

if (poblacion == "proyecciones") {
poblacion <- import_pob_proyecciones(year = year)
poblacion <- import_pob_proyecciones(year = year, cache = cache,
ruta_dir = ruta_dir)
} else {
poblacion <- import_pob_riesgo(event = event, year = year)
poblacion <- import_pob_riesgo(event = event, year = year, cache = cache,
ruta_dir = ruta_dir)
}
return(poblacion)
}
Expand All @@ -349,7 +359,7 @@ import_pob_incidencia <- function(
#' @return Un `data.frame` con las proyecciones poblacionales DANE.
#' @examples
#' \donttest{
#' import_pob_proyecciones(year = 2020)
#' import_pob_proyecciones(year = 2020, ruta_dir = tempdir())
#' }
#' @export
import_pob_proyecciones <- function(year,
Expand All @@ -366,8 +376,8 @@ import_pob_proyecciones <- function(year,
stringr::fixed("{year}"),
year)
ruta_dir <-
obtener_ruta_dir(ruta_dir,
"las proyeciones poblacionales DANE")
obtener_ruta_dir(ruta_dir = ruta_dir, cache = cache,
mensaje_error = "las proyeciones poblacionales DANE")
ruta_proyecs <- file.path(ruta_dir,
paste0(nomb_proyecs,
ruta_proyecciones$extension))
Expand Down Expand Up @@ -395,7 +405,7 @@ import_pob_proyecciones <- function(year,
#' @return Un `data.frame` con la población a riesgo de un año específico.
#' @examples
#' \donttest{
#' import_pob_riesgo(event = "Dengue", year = 2020)
#' import_pob_riesgo(event = "Dengue", year = 2020, ruta_dir = tempdir())
#' }
#' @export
import_pob_riesgo <- function(event, year,
Expand All @@ -411,8 +421,8 @@ import_pob_riesgo <- function(event, year,
etiqueta_year <- obtener_val_config("label_year")
etiqueta_year <- paste0(tolower(etiqueta_year), "s")
ruta_dir <-
obtener_ruta_dir(ruta_dir,
"las poblaciones a riesgo")
obtener_ruta_dir(ruta_dir = ruta_dir, cache = cache,
mensaje_error = "las poblaciones a riesgo")
pop_event <- NULL
years_disponibles <- NULL
pob_riesgo_event <- NULL
Expand Down Expand Up @@ -471,8 +481,8 @@ import_pob_riesgo <- function(event, year,
#' @keywords internal
import_shape_map <- function(ruta_dir = NULL,
cache = FALSE) {
ruta_dir <- obtener_ruta_dir(ruta_dir = ruta_dir,
"el Shapefile del mapa")
ruta_dir <- obtener_ruta_dir(ruta_dir = ruta_dir, cache = cache,
mensaje_error = "el Shapefile del mapa")
archivo_zip <- obtener_val_config("map_shape_zip_file")
ruta_zip <- file.path(ruta_dir, archivo_zip)
if (!file.exists(ruta_zip)) {
Expand Down
Loading
Loading