View source: R/read_datos_abiertos_aux.R
read_datos_abiertos_zip | R Documentation |
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 en duckdb
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(), ... )
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
|
Lista de valores:
dats - Tabla conectada mediante DBI::dbConnect
(si duckdb
) o
tibble (si tibble
)
disconnect - Funcion para cerrar la conexion a la base de datos.
dict - Lista de tibble
s con el diccionario de datos para cada variable
Para guardar tu base con duckdb
cambia el dbdir
a un archivo .duckdb
. Como ejemplo
dbdir = "ejemplo.duckdb"
.
# 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() }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.