read_datos_abiertos {covidmx}R Documentation

Lee la base de datos de la direccion general de epidemiologia que ya descargaste

Description

read_datos_abiertos Lee los datos abiertos almacenados en tu base de duckdb que bajaste con descarga_datos_abiertos. Intenta de manera automática determinar si los lee de duckdb, csv ó zip

Usage

read_datos_abiertos(
  datos_abiertos_path = NULL,
  dbdir = tempfile(fileext = ".duckdb"),
  tblname = "covidmx",
  pragma_memory_limit = Sys.getenv("pragma_memory_limit"),
  drv = duckdb::duckdb(),
  colClasses = get_col_class(),
  read_format = c("duckdb", "tibble"),
  ...
)

Arguments

datos_abiertos_path

(obligatorio) Camino a los datos abiertos si son un zip, un csv o un .duckdb

dbdir

(opcional) Direccion donde guardar la base de datos con terminacion .duckdb. Corresponde al argumento de duckdb::dbConnect__duckdb_driver()

tblname

(opcional) Nombre de la tabla de duckdb donde guardar los datos por default se llama covidmx. Solo es relevante si estas usando el mismo dbdir para otro proyecto distinto.

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 Sys.setenv('pragma_memory_limit' = '1GB') por ejemplo para un limite de 1 gigabyte.

drv

(opcional) Un driver para dbConnect (default duckdb::duckdb())

colClasses

(opcional) Clases de la columna para leer en duckdb::read_csv_duckdb().

read_format

(opcional) "duckdb" o "tibble" establece el formato de lectura de la base de datos. En la mayoria de los casos "tibble" va a resultar en un error de memoria. La opcion de "duckdb" siempre es mas rapida por lo cual es el default.

...

(opcional) parametros adicionales para descarga_datos_abiertos()

Value

Lista de valores:

Note

Para guardar tu base con duckdb cambia el dbdir a un archivo .duckdb. Como ejemplo dbdir = "ejemplo.duckdb".

See Also

descarga_datos_abiertos() descarga_datos_red_irag() descarga_datos_variantes_GISAID() casos()

Examples


#Archivo temporal donde guardar las cosas es cualquier .duckdb
file_duck <- 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"

if (RCurl::url.exists(dlink) & RCurl::url.exists(diclink)){
  # EJEMPLO 0: Descarga los datos abiertos en archivo file_duck
  descarga_datos_abiertos(dbdir = file_duck, sites.covid = dlink, show_warnings = FALSE, 
      site.covid.dic = diclink)$disconnect()

  # EJEMPLO 1: Lee los datos de duckdb una vez descargados
  datos_covid <- read_datos_abiertos(file_duck, show_warnings = FALSE, 
                                      site.covid.dic = diclink) # Lee duckdb
  datos_covid$disconnect()

# EJEMPLO 2: Lee los datos desde un zip descargado
# Descarga archivos de la DGE y guarda el zip
direccion_zip <- descarga_db_datos_abiertos_tbl(sites.covid = dlink, show_warnings = FALSE)
# Lee zip
datos_covid <- read_datos_abiertos(direccion_zip, dbdir = file_duck, show_warnings = FALSE,
                    site.covid.dic = diclink)
datos_covid$disconnect()

# EJEMPLO 3: Lee los datos desde un zip descargado
# Descarga archivos zip de la DGE
direccion_zip <- descarga_db_datos_abiertos_tbl(sites.covid = dlink, show_warnings = FALSE)
direccion_csv <- unzip_db_datos_abiertos_tbl(direccion_zip) # Descomprime el zip para tener csv
# Lee los csv
datos_covid <- read_datos_abiertos(direccion_csv, dbdir = file_duck, show_warnings = FALSE,
                                     site.covid.dic = diclink) 
datos_covid$disconnect()

# EJEMPLO 4: Si ya tenias el diccionario lo puedes agregar
# Simula la idea de ya tener el diccionario
diccionario <- descarga_diccionario(show_warnings = FALSE, site.covid.dic = diclink) 
datos_covid <- read_datos_abiertos(file_duck, diccionario = diccionario, show_warnings = FALSE)
datos_covid$disconnect()

# EJEMPLO 5: Si ya tenias el diccionario como archivo zip
# Descarga el diccionario para tenerlo como zip
diccionario_zip <- descarga_db_diccionario_ssa(show_warnings = FALSE, site.covid.dic = diclink) 
datos_covid <- read_datos_abiertos(file_duck, diccionario_zip_path = diccionario_zip, 
                                    show_warnings = FALSE)
datos_covid$disconnect()

# EJEMPLO 6: Si ya tenias el diccionario como archivo xlsx
# Descarga el diccionario para tenerlo como zip
diccionario_zip <- descarga_db_diccionario_ssa(show_warnings = FALSE, site.covid.dic = diclink)
# Abre el csv del diccionario
diccionario_csv <- unzip_db_diccionario_ssa(diccionario_zip) 
datos_covid <- read_datos_abiertos(file_duck,
  diccionario_unzipped_path = diccionario_csv,
  show_warnings = FALSE
)
datos_covid$disconnect()
}


[Package covidmx version 0.7.7 Index]