diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 1983804..9bc49fa 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -2,9 +2,9 @@ # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: push: - branches: [main, master, MARIADB] + branches: [main, master] pull_request: - branches: [main, master, MARIADB] + branches: [main, master] name: R-CMD-check diff --git a/DESCRIPTION b/DESCRIPTION index 6eeed10..bb2539c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: covidmx Title: Descarga y analiza datos de COVID-19 en México -Version: 0.7.3 +Version: 0.7.4 Authors@R: c(person("Rodrigo", "Zepeda-Tello", , "rzepeda17@gmail.com", role = c("aut", "cre"), comment = c(ORCID = "0000-0003-4471-5270")), diff --git a/NEWS.md b/NEWS.md index feaece5..709a6a7 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,9 @@ +# covidmx 0.7.4 + +* Se corrige el issue #14 [que devolvía agrupados los dataframes al correr casos y positividad](https://github.com/RodrigoZepeda/covidmx/issues/14). + +* Se corrigió que arrojara problemas de lectura en la fecha al no poder parsear fechas del estilo 0001-11-03 al leer como `tibble`. Ahora dichas fechas son eliminadas automáticamente. + # covidmx 0.7.3 * Se corrige el issue #12 [cannot open file 'NA/2022.csv': No such file or directory](https://github.com/RodrigoZepeda/covidmx/issues/12). diff --git a/R/casos.R b/R/casos.R index 61a519a..f206a6b 100644 --- a/R/casos.R +++ b/R/casos.R @@ -686,14 +686,17 @@ casos <- function(datos_covid, if (nrow(entidades) > 0 & group_by_entidad) { name_join <- c("CLAVE_ENTIDAD") names(name_join) <- entidad_tipo - .casos <- .casos |> dplyr::left_join(datos_covid$dict[entidad_tipo][[1]], by = name_join) + .casos <- .casos |> + dplyr::left_join(datos_covid$dict[entidad_tipo][[1]], by = name_join) |> + dplyr::ungroup() } if (length(clasificaciones_finales) > 0 & group_by_tipo_clasificacion) { name_join <- c("CLAVE") names(name_join) <- "CLASIFICACION_FINAL" .casos <- .casos |> - dplyr::left_join(datos_covid$dict["CLASIFICACION_FINAL"][[1]][, c(1, 2)], by = name_join) + dplyr::left_join(datos_covid$dict["CLASIFICACION_FINAL"][[1]][, c(1, 2)], by = name_join) |> + dplyr::ungroup() } if (nrow(pacientes) > 0 & group_by_tipo_paciente) { @@ -702,7 +705,8 @@ casos <- function(datos_covid, paciente_df <- datos_covid$dict["PACIENTE"][[1]] colnames(paciente_df) <- c("CLAVE", "DESCRIPCION_TIPO_PACIENTE") .casos <- .casos |> - dplyr::left_join(paciente_df, by = name_join) + dplyr::left_join(paciente_df, by = name_join) |> + dplyr::ungroup() } if (nrow(ucis) > 0 & group_by_tipo_uci) { @@ -711,7 +715,8 @@ casos <- function(datos_covid, uci_df <- datos_covid$dict["UCI"][[1]] colnames(uci_df) <- c("CLAVE", "DESCRIPCION_TIPO_UCI") .casos <- .casos |> - dplyr::left_join(uci_df, by = name_join) + dplyr::left_join(uci_df, by = name_join) |> + dplyr::ungroup() } if (nrow(sectores) > 0 & group_by_tipo_sector) { @@ -720,7 +725,8 @@ casos <- function(datos_covid, sector_df <- datos_covid$dict["SECTOR"][[1]] colnames(sector_df) <- c("CLAVE", "DESCRIPCION_TIPO_SECTOR") .casos <- .casos |> - dplyr::left_join(sector_df, by = name_join) + dplyr::left_join(sector_df, by = name_join) |> + dplyr::ungroup() } .casos <- list(.casos) diff --git a/R/descarga_datos_abiertos_aux.R b/R/descarga_datos_abiertos_aux.R index ae1b0ff..a13063d 100644 --- a/R/descarga_datos_abiertos_aux.R +++ b/R/descarga_datos_abiertos_aux.R @@ -698,14 +698,14 @@ parse_db_datos_abiertos_tbl <- function(datos_abiertos_unzipped_path, progress = !quiet, col_types = readr::cols( .default = readr::col_character(), - FECHA_ACTUALIZACION = readr::col_date(format = "%Y-%m-%d"), + FECHA_ACTUALIZACION = readr::col_character(), ORIGEN = readr::col_double(), SECTOR = readr::col_double(), SEXO = readr::col_double(), TIPO_PACIENTE = readr::col_double(), - FECHA_INGRESO = readr::col_date(format = "%Y-%m-%d"), - FECHA_SINTOMAS = readr::col_date(format = "%Y-%m-%d"), - FECHA_DEF = readr::col_date(format = "%Y-%m-%d"), + FECHA_INGRESO = readr::col_character(), + FECHA_SINTOMAS = readr::col_character(), + FECHA_DEF = readr::col_character(), INTUBADO = readr::col_double(), NEUMONIA = readr::col_double(), EDAD = readr::col_double(), @@ -732,7 +732,10 @@ parse_db_datos_abiertos_tbl <- function(datos_abiertos_unzipped_path, MIGRANTE = readr::col_double(), UCI = readr::col_double() ) - ) + ) |> + dplyr::mutate(dplyr::across(dplyr::starts_with("FECHA"), ~ dplyr::if_else(. == "9999-99-99", NA_character_, .))) |> + dplyr::mutate(dplyr::across(dplyr::starts_with("FECHA"), ~ dplyr::if_else(. == "-001-11-30", NA_character_, .))) |> + dplyr::mutate(dplyr::across(dplyr::starts_with("FECHA"), ~ strptime(., "%Y-%m-%d"))) if (!quiet) { cli::cli_alert_info( diff --git a/R/positividad.R b/R/positividad.R index 7ecee5d..15cf812 100644 --- a/R/positividad.R +++ b/R/positividad.R @@ -234,12 +234,12 @@ positividad <- function(datos_covid, # Obtenemos los positivos .pcr_positivos <- .pcr_positivos |> dplyr::group_by_at(groups) |> - dplyr::summarise(!!as.symbol("n_positivos") := sum(!!as.symbol("n")), .groups = "keep") + dplyr::summarise(!!as.symbol("n_positivos") := sum(!!as.symbol("n")), .groups = "drop") # Obtenemos los totales .pcr_totales <- .pcr_totales |> dplyr::group_by_at(groups) |> - dplyr::summarise(!!as.symbol("n_pruebas") := sum(!!as.symbol("n")), .groups = "keep") + dplyr::summarise(!!as.symbol("n_pruebas") := sum(!!as.symbol("n")), .groups = "drop") .pcr <- .pcr_totales |> dplyr::left_join(.pcr_positivos, by = groups) |> @@ -276,12 +276,12 @@ positividad <- function(datos_covid, # Obtenemos los positivos .anti_positivos <- .anti_positivos |> dplyr::group_by_at(groups) |> - dplyr::summarise(!!as.symbol("n_positivos") := sum(!!as.symbol("n")), .groups = "keep") + dplyr::summarise(!!as.symbol("n_positivos") := sum(!!as.symbol("n")), .groups = "drop") # Obtenemos los totales .anti_totales <- .anti_totales |> dplyr::group_by_at(groups) |> - dplyr::summarise(!!as.symbol("n_pruebas") := sum(!!as.symbol("n")), .groups = "keep") + dplyr::summarise(!!as.symbol("n_pruebas") := sum(!!as.symbol("n")), .groups = "drop") .anti <- .anti_totales |> dplyr::left_join(.anti_positivos, by = groups) |> @@ -301,13 +301,13 @@ positividad <- function(datos_covid, # Obtenemos los totales .totales <- .numero_pruebas[list_name][[1]] |> dplyr::group_by_at(groups) |> - dplyr::summarise(!!as.symbol("n_pruebas") := sum(!!as.symbol("n")), .groups = "keep") + dplyr::summarise(!!as.symbol("n_pruebas") := sum(!!as.symbol("n")), .groups = "drop") # Obtenemos los positivos .positivos <- .numero_pruebas[list_name][[1]] |> dplyr::filter(dplyr::if_any(dplyr::starts_with("RESULTADO"), ~ (. == 1))) |> dplyr::group_by_at(groups) |> - dplyr::summarise(!!as.symbol("n_positivos") := sum(!!as.symbol("n")), .groups = "keep") + dplyr::summarise(!!as.symbol("n_positivos") := sum(!!as.symbol("n")), .groups = "drop") .positividad <- .totales |> dplyr::left_join(.positivos, by = groups) |> diff --git a/R/rt.R b/R/rt.R index 0774cae..6df52b8 100644 --- a/R/rt.R +++ b/R/rt.R @@ -245,15 +245,15 @@ estima_rt <- function(datos_covid, } mfec <- .casos[fecha_name] |> - dplyr::summarise(!!as.symbol("min") := min(!!as.symbol(fecha_name))) |> + dplyr::summarise(!!as.symbol("min") := min(!!as.symbol(fecha_name)), .groups = "drop") |> as.vector() df_rt <- .casos |> dplyr::arrange(!!as.symbol(fecha_name)) |> dplyr::summarise( - EpiEstim::estimate_R(as.numeric(!!as.symbol("n")), method = method, config = config, ...)$R + EpiEstim::estimate_R(as.numeric(!!as.symbol("n")), method = method, config = config, ...)$R, + .groups = "drop" ) |> - dplyr::ungroup() |> dplyr::mutate(!!as.symbol(paste0(fecha_name, "_start")) := mfec$min[1] + lubridate::days(!!as.symbol("t_start"))) |> dplyr::mutate(!!as.symbol(paste0(fecha_name, "_end")) := mfec$min[1] + lubridate::days(!!as.symbol("t_end"))) |> dplyr::mutate(!!as.symbol(fecha_name) := mfec$min[1] + lubridate::days((!!as.symbol("t_start") + !!as.symbol("t_end")) / 2)) diff --git a/docs/404.html b/docs/404.html index f12b2cf..c6138e9 100644 --- a/docs/404.html +++ b/docs/404.html @@ -31,7 +31,7 @@ covidmx - 0.7.3 + 0.7.4