read_datos_abiertos_zip {covidmx} | R Documentation |
Auxiliares de lectura para la base de la Direccion General de Epidemiologia
Description
La funcion principal es read_datos_abiertos()
la cual decide si los lee de zip
,
duckdb
o csv
Tambien puedes usar las auxiliares respectivas
-
read_datos_abiertos_zip()
Si sólo descargaste los datos de la DGE en.zip
-
read_datos_abiertos_csv()
Si descargaste los datos de la DGE en.zip
y los descomprimiste. -
read_datos_abiertos_duckdb()
Si ya creaste tu table enduckdb
Usage
read_datos_abiertos_zip(
datos_abiertos_zip_paths,
diccionario_zip_path = NULL,
diccionario_unzipped_path = NULL,
diccionario = NULL,
read_format = c("duckdb", "tibble"),
tblname = "covidmx",
drv = duckdb::duckdb(),
dbdir = tempfile(fileext = ".duckdb"),
colClasses = get_col_class(),
download_process = c("pins", "download.file"),
site.covid.dic = paste0("http://datosabiertos.salud.", "gob.mx/gobmx/salud/datos_a",
"biertos/diccionario_datos_", "covid19.zip"),
unzip_command = Sys.getenv("unzip_command"),
unzip_args = Sys.getenv("unzip_args"),
unzip_args_dict = list(exdir = ".", overwrite = TRUE),
check_unzip_install = TRUE,
clear_zip = (download_process[1] != "pins"),
clear_csv = TRUE,
use_dict = TRUE,
quiet = FALSE,
cache_datos = NULL,
use_cache_on_failure = TRUE,
cache_diccionario = NULL,
force_download = FALSE,
show_warnings = TRUE,
board_url_name = "datos_abiertos",
board_url_name_dict = "diccionario_covid",
download_file_args = list(method = "curl", destfile = tempfile(), quiet = quiet),
descarga_db_diccionario_ssa_args = list(),
...
)
read_datos_abiertos_csv(
datos_abiertos_unzipped_path,
diccionario_zip_path = NULL,
diccionario_unzipped_path = NULL,
diccionario = NULL,
read_format = c("duckdb", "tibble"),
tblname = "covidmx",
drv = duckdb::duckdb(),
dbdir = tempfile(fileext = ".duckdb"),
colClasses = get_col_class(),
download_process = c("pins", "download.file"),
site.covid.dic = paste0("http://datosabiertos.salud.", "gob.mx/gobmx/salud/datos_a",
"biertos/diccionario_datos_", "covid19.zip"),
unzip_args_dict = list(exdir = ".", overwrite = TRUE),
clear_csv = TRUE,
quiet = FALSE,
use_cache_on_failure = TRUE,
cache_diccionario = NULL,
force_download = FALSE,
show_warnings = TRUE,
board_url_name_dict = "diccionario_covid",
download_file_args = list(method = "curl", destfile = tempfile(), quiet = quiet),
descarga_db_diccionario_ssa_args = list(),
...
)
read_datos_abiertos_duckdb(
datos_abiertos_tbl,
drv = duckdb::duckdb(),
tblname = "covidmx",
pragma_memory_limit = Sys.getenv("pragma_memory_limit"),
diccionario_zip_path = NULL,
diccionario_unzipped_path = NULL,
diccionario = NULL,
download_process = c("pins", "download.file"),
site.covid.dic = paste0("http://datosabiertos.salud.", "gob.mx/gobmx/salud/datos_a",
"biertos/diccionario_datos_", "covid19.zip"),
unzip_args_dict = list(exdir = ".", overwrite = TRUE),
clear_zip = download_process[1] != "pins",
clear_csv = TRUE,
use_dict = TRUE,
quiet = FALSE,
use_cache_on_failure = TRUE,
cache_diccionario = NULL,
force_download = FALSE,
show_warnings = TRUE,
board_url_name_dict = "diccionario_covid",
download_file_args = list(method = "curl", destfile = tempfile(), quiet = quiet),
descarga_db_diccionario_ssa_args = list(),
...
)
Arguments
datos_abiertos_zip_paths |
(opcional) Camino a los datos abiertos si ya los
descargaste en |
diccionario_zip_path |
(opcional) Camino al diccionario si ya losdescargaste en |
diccionario_unzipped_path |
(opcional) Camino al diccionario |
diccionario |
(opcional) Lo que resulta de realizar una descarga del diccionario
usando |
read_format |
(opcional) |
tblname |
(opcional) Nombre de la tabla de |
drv |
(opcional) Un driver para |
dbdir |
(opcional) Direccion donde guardar la base de datos con terminacion |
colClasses |
(opcional) Clases de la columna para leer en |
download_process |
(opcional) Metodo para descargar ya sea |
site.covid.dic |
(opcional) Sitio desde el cual descarga del diccionario de datos. La ultima verificacion del sitio fue el 6 de septiembre 2022. |
unzip_command |
(opcional) Forma de extraer la base de datos de datos abiertos
si |
unzip_args |
(opcional) Argumentos de extraccion de la base de datos de datos abiertos
si |
unzip_args_dict |
(opcional) Lista de argumentos para usar |
check_unzip_install |
(opcional) Bandera de verificacion para checar si tienes
lo necesario para unzippear los datos en el caso de que |
clear_zip |
(opcional) Si borrar los archivos |
clear_csv |
(opcional) Si borrar los archivos |
use_dict |
(opcional) Si descargar el diccionario de |
quiet |
(opcional) Variable para no mostrar mensajes |
cache_datos |
(opcional) Direccion donde guardar los datos en memoria usando |
use_cache_on_failure |
(opcional) Booleana. Establece que si no se pueden descargar
datos nuevos utilice los que tenga en memoria. Por default es |
cache_diccionario |
(opcional) Direccion donde guardar el diccionario en memoria
usando |
force_download |
(opcional) Analiza si cambio el pin y descarga datos nuevos en caso afirmativo aunque haya pasado menos de un dia. |
show_warnings |
(opcional) si arrojar |
board_url_name |
(opcional) Establece el nombre del |
board_url_name_dict |
(opcional) Establece el nombre del |
download_file_args |
(opcional) Lista de argumentos adicionales para |
descarga_db_diccionario_ssa_args |
(opcional) Lista con argumentos adicionales para el
|
... |
(opcional) Parametros adicionales para |
datos_abiertos_unzipped_path |
(opcional) Camino a los datos abiertos |
datos_abiertos_tbl |
(opcional) Camino a un archivo |
pragma_memory_limit |
(opcional) Limite de memoria para el programa
(ver PRAGMAS). Cambialo a que sea mas o menos la mitad
de tu RAM. La forma mas sencilla es como una variable ambiental con
|
Value
Lista de valores:
dats - Tabla conectada mediante
DBI::dbConnect
(siduckdb
) o tibble (sitibble
)disconnect - Funcion para cerrar la conexion a la base de datos.
dict - Lista de
tibble
s con el diccionario de datos para cada variable
Note
Para guardar tu base con duckdb
cambia el dbdir
a un archivo .duckdb
. Como ejemplo
dbdir = "ejemplo.duckdb"
.
Examples
# Lee los datos de duckdb una vez descargados
# quita la opción de sites.covid para descargar los de la DGE.
# Esto es solo un ejemplo.
file_ejemplo <- tempfile(fileext = ".duckdb")
#Estos links deben omitirse en una corrida normal. Se incluyen por ahora como ejemplo
#pero las opciones site.covid.dic y sites.covid deben eliminarse de abajo.
dlink <- "https://github.com/RodrigoZepeda/covidmx/raw/main/datos_abiertos_covid19.zip"
diclink <- "https://github.com/RodrigoZepeda/covidmx/raw/main/diccionario_datos_covid19.zip"
#En el ejemplo de R por normas de CRAN tenemos que hacerlo así pero en tu
#computadora puedes solo usar descargar datos sin el if else
if (RCurl::url.exists(dlink) & RCurl::url.exists(diclink)){
#Necesitamos la base para verificar los reads
datos_covid <- descarga_datos_abiertos(
dbdir = file_ejemplo,
sites.covid = dlink,
site.covid.dic = diclink,
show_warnings = FALSE
)
datos_covid$disconnect()
datos_covid <- read_datos_abiertos(file_ejemplo, show_warnings = FALSE,
site.covid.dic = diclink)
datos_covid$disconnect()
# Es lo mismo que:
datos_covid <- read_datos_abiertos_duckdb(file_ejemplo, show_warnings = FALSE,
site.covid.dic = diclink)
datos_covid$disconnect()
# Descarga los datos y lee de un zip guardandolos a la vez en
# base de nombre datos_desde_zip.duckdb
direccion_zip <- descarga_db_datos_abiertos_tbl(sites.covid = dlink, show_warnings = FALSE,
site.covid.dic = diclink)
datos_covid <- read_datos_abiertos(direccion_zip,
dbdir = file_ejemplo,
site.covid.dic = diclink,
show_warnings = FALSE
)
datos_covid$disconnect()
# Es lo mismo que:
datos_covid <- read_datos_abiertos_zip(direccion_zip,
site.covid.dic = diclink,
dbdir = file_ejemplo,
show_warnings = FALSE
)
datos_covid$disconnect()
# Descarga los datos y lee de un csv
direccion_zip <- descarga_db_datos_abiertos_tbl(sites.covid = dlink, show_warnings = FALSE)
direccion_csv <- unzip_db_datos_abiertos_tbl(direccion_zip)
datos_covid <- read_datos_abiertos(direccion_csv, show_warnings = FALSE,
site.covid.dic = diclink)
datos_covid$disconnect()
# Es lo mismo que:
direccion_csv <- unzip_db_datos_abiertos_tbl(direccion_zip)
datos_covid <- read_datos_abiertos_csv(direccion_csv, show_warnings = FALSE,
site.covid.dic = diclink)
datos_covid$disconnect()
}