The R package datosmx 🇲🇽.
R package (Warning: currently under construction 🚧 🚧 🚧 ) to get data about the Novel Coronavirus COVID-19 pandemic cases in Mexico and other Mexico datasets (geospatial + population). Data comes from official sources, more information here.
if (!"remotes" %in% installed.packages()) {
install.packages("remotes")
}
remotes::install_github("mayrop/datosmx")
library(dplyr)
# retrieving latest data available...
cases <- datosmx::get_covid_cases()
## trying URL 'https://datos.covid19in.mx/abiertos/todos/202004/20200424.zip'
## Content type 'application/zip' length 1119907 bytes (1.1 MB)
## ==================================================
## downloaded 1.1 MB
str(cases)
## 'data.frame': 62334 obs. of 35 variables:
## $ FECHA_ACTUALIZACION: Factor w/ 1 level "2020-04-24": 1 1 1 1 1 1 1 1 1 1 ...
## $ ID_REGISTRO : Factor w/ 62334 levels "000024","000038",..: 20185 60983 30572 2458 18503 54130 62056 53871 57504 39143 ...
## $ ORIGEN : int 2 2 2 1 1 1 2 2 2 1 ...
## $ SECTOR : int 9 12 9 3 12 12 4 12 12 4 ...
## $ ENTIDAD_UM : int 15 9 28 15 15 9 9 9 9 2 ...
##...
descriptions <- datosmx::get_covid_descriptions()
all <- datosmx::complete_covid_cases(cases, descriptions)
all %>% as_tibble()
# A tibble: 62,334 x 62
# FECHA_ACTUALIZA… ID_REGISTRO ORIGEN SECTOR ENTIDAD_UM SEXO ENTIDAD_NAC ENTIDAD_RES MUNICIPIO_RES TIPO_PACIENTE
# <fct> <fct> <int> <int> <int> <int> <int> <int> <int> <int>
# 1 2020-04-24 09e8dc 2 9 15 1 15 15 37 2
# 2 2020-04-24 1dd782 2 12 9 1 15 9 3 1
# 3 2020-04-24 0efbaf 2 9 28 2 16 28 32 1
# 4 2020-04-24 013a6c 1 3 15 2 15 15 106 1
# 5 2020-04-24 091a48 1 12 15 2 15 15 31 2
# 6 2020-04-24 1a72fe 1 12 9 1 9 9 11 1
# 7 2020-04-24 1e6142 2 4 9 1 9 9 3 2
# 8 2020-04-24 1a5595 2 12 9 2 9 9 8 1
# 9 2020-04-24 1c21d8 2 12 9 1 15 9 9 1
#10 2020-04-24 13236c 1 4 2 2 21 2 4 2
## … with 62,324 more rows, and 52 more variables: FECHA_INGRESO <fct>, FECHA_SINTOMAS <fct>, FECHA_DEF <fct>,
## INTUBADO <int>, NEUMONIA <int>, EDAD <int>, NACIONALIDAD <int>, EMBARAZO <int>, HABLA_LENGUA_INDIG <int>,
## DIABETES <int>, EPOC <int>, ASMA <int>, INMUSUPR <int>, HIPERTENSION <int>, OTRA_COM <int>, CARDIOVASCULAR <int>,
## OBESIDAD <int>, RENAL_CRONICA <int>, TABAQUISMO <int>, OTRO_CASO <int>, RESULTADO <int>, MIGRANTE <int>,
## PAIS_NACIONALIDAD <fct>, PAIS_ORIGEN <fct>, UCI <int>, ORIGEN_FACTOR <fct>, SECTOR_FACTOR <fct>,
## ENTIDAD_UM_FACTOR <fct>, SEXO_FACTOR <fct>, ENTIDAD_NAC_FACTOR <fct>, ENTIDAD_RES_FACTOR <fct>,
## MUNICIPIO_RES_FACTOR <fct>, TIPO_PACIENTE_FACTOR <fct>, INTUBADO_FACTOR <fct>, NEUMONIA_FACTOR <fct>,
## EMBARAZO_FACTOR <fct>, HABLA_LENGUA_INDIG_FACTOR <fct>, DIABETES_FACTOR <fct>, EPOC_FACTOR <fct>, ASMA_FACTOR <fct>,
## INMUSUPR_FACTOR <fct>, HIPERTENSION_FACTOR <fct>, OTRA_COM_FACTOR <fct>, CARDIOVASCULAR_FACTOR <fct>,
## OBESIDAD_FACTOR <fct>, RENAL_CRONICA_FACTOR <fct>, TABAQUISMO_FACTOR <fct>, OTRO_CASO_FACTOR <fct>,
## MIGRANTE_FACTOR <fct>, UCI_FACTOR <fct>, RESULTADO_FACTOR <fct>, NACIONALIDAD_FACTOR <fct>
# If you want historical data...
cases <- datosmx::get_covid_cases(date = "2020-04-12")
## trying URL 'https://datos.covid19in.mx/abiertos/todos/202004/20200412.zip'
## Content type 'application/zip' length 735960 bytes (718 KB)
## ==================================================
## downloaded 718 KB
library(dplyr)
datosmx::get_covid_timeseries() %>% as_tibble()
## # A tibble: 1,856 x 20
## Fecha Estado Positivos Positivos_Delta Sospechosos Sospechosos_Del… Negativos Negativos_Delta
## <chr> <chr> <int> <int> <int> <int> <int> <int>
## 1 2020… AGU 0 0 NA 0 NA 0
## 2 2020… BCN 0 0 NA 0 NA 0
## 3 2020… BCS 0 0 NA 0 NA 0
## 4 2020… CAM 0 0 NA 0 NA 0
## 5 2020… CHH 0 0 NA 0 NA 0
## 6 2020… CHP 0 0 NA 0 NA 0
## 7 2020… CMX 1 0 NA 0 NA 0
## 8 2020… COA 0 0 NA 0 NA 0
## 9 2020… COL 0 0 NA 0 NA 0
## 10 2020… DUR 0 0 NA 0 NA 0
# … with 1,846 more rows, and 12 more variables: Defunciones_Positivos <int>,
# Defunciones_Positivos_Delta <int>, Defunciones_Sospechosos <int>,
# Defunciones_Sospechosos_Delta <int>, Defunciones_Negativos <int>,
# Defunciones_Negativos_Delta <int>, Positivos_Sintomas_14_Dias <int>,
# Sospechosos_Sintomas_14_Dias <int>, Negativos_Sintomas_14_Dias <int>,
# Positivos_Sintomas_7_Dias <int>, Sospechosos_Sintomas_7_Dias <int>,
# Negativos_Sintomas_7_Dias <int>
Latest update for this dataset is April 18, 2020, the last day the SSa published that dataset.
cases <- datosmx::get_covid_cases(date = "2020-04-18", dataset = "ctd")
str(cases)
##'data.frame': 7497 obs. of 17 variables:
## $ Caso : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Estado : Factor w/ 32 levels "AGUASCALIENTES",..: 15 28 7 7 31 12 7 15 15 19 ...
## $ Localidad : logi NA NA NA NA NA NA ...
## $ Sexo : Factor w/ 2 levels "FEMENINO","MASCULINO": 1 2 2 1 2 1 2 1 1 2 ...
## $ Edad : int 75 22 40 29 71 61 33 77 84 54 ...
## $ Fecha_Sintomas : Factor w/ 58 levels "01/03/2020","01/04/2020",..: 54 8 34 50 24 12 10 8 50 39 ...
## $ Situacion : Factor w/ 1 level "Confirmado": 1 1 1 1 1 1 1 1 1 1 ...
## $ Procedencia : logi NA NA NA NA NA NA ...
## $ Fecha_Llegada : logi NA NA NA NA NA NA ...
## $ Estado_Normalizado : Factor w/ 32 levels "AGU","BCN","BCS",..: 15 28 7 7 31 11 7 15 15 19 ...
## $ Localidad_Normalizado : logi NA NA NA NA NA NA ...
## $ Sexo_Normalizado : Factor w/ 2 levels "F","M": 1 2 2 1 2 1 2 1 1 2 ...
## $ Fecha_Sintomas_Normalizado: Factor w/ 58 levels "2020-02-17","2020-02-19",..: 38 45 27 36 53 47 46 45 36 30 ...
## $ Fecha_Sintomas_Corregido : logi NA NA NA NA NA NA ...
## $ Situacion_Normalizado : Factor w/ 1 level "CONFIRMADO": 1 1 1 1 1 1 1 1 1 1 ...
## $ Procedencia_Normalizado : logi NA NA NA NA NA NA ...
## $ Fecha_Llegada_Normalizado : logi NA NA NA NA NA NA ...
...
cities <- datosmx::get_cities()
str(cities)
## 'data.frame': 2458 obs. of 6 variables:
## $ Clave_Entidad : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Clave_Municipio: int 1 2 3 4 5 6 7 8 9 10 ...
## $ Nombre : chr "Aguascalientes" "Asientos" "Calvillo" "Cosío" ...
## $ Longitud : num -102 -102 -103 -102 -102 ...
## $ Latitud : num 21.8 22.1 21.9 22.4 21.9 ...
## $ Poblacion_2019 : int 949277 50354 60181 16766 127835 49479 57359 9551 22468 21710 ...
head(cities)
## Clave_Entidad Clave_Municipio Nombre Longitud Latitud Poblacion_2019
## 1 1 1 Aguascalientes -102.2958 21.81144 949277
## 2 1 2 Asientos -102.0456 22.12651 50354
## 3 1 3 Calvillo -102.7049 21.90069 60181
## 4 1 4 Cosío -102.2970 22.36063 16766
## 5 1 5 Jesús María -102.4456 21.93212 127835
## 6 1 6 Pabellón de Arteaga -102.3017 22.10454 49479
states <- datosmx::get_states()
str(states)
##'data.frame': 32 obs. of 10 variables:
## $ Clave : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Nombre : chr "Aguascalientes" "Baja California" "Baja California Sur" "Campeche" ...
## $ Nombre_Mayuscula: chr "AGUASCALIENTES" "BAJA CALIFORNIA" "BAJA CALIFORNIA SUR" "CAMPECHE" ...
## $ Nombre_Completo : chr "Aguascalientes" "Baja California" "Baja California Sur" "Campeche" ...
## $ Abreviatura : chr "Ags." "B. C." "B. C. S." "Camp." ...
## $ ISO_3 : chr "AGU" "BCN" "BCS" "CAM" ...
## $ RENAPO : chr "AS" "BC" "BS" "CC" ...
## $ Longitud : num -102.4 -115.1 -112.1 -90.4 -102 ...
## $ Latitud : num 22 30.6 25.9 18.8 27.3 ...
## $ Poblacion_2019 : int 1415421 3578561 788119 984046 3175643 772842 5647532 3765325 9031213 1852952 ...
head(states)
## Clave Nombre Nombre_Mayuscula Nombre_Completo Abreviatura ISO_3 ISO_2 Longitud Latitud Poblacion_2019
## 1 1 Aguascalientes AGUASCALIENTES Aguascalientes Ags. AGU AS -102.36194 22.00644 1415421
## 2 2 Baja California BAJA CALIFORNIA Baja California B. C. BCN BC -115.09707 30.55159 3578561
## 3 3 Baja California Sur BAJA CALIFORNIA SUR Baja California Sur B. C. S. BCS BS -112.06620 25.91871 788119
## 4 4 Campeche CAMPECHE Campeche Camp. CAM CC -90.36028 18.84055 984046
## 5 5 Coahuila COAHUILA Coahuila de Zaragoza Coah. COA CL -102.04404 27.29544 3175643
## 6 6 Colima COLIMA Colima Col. COL CM -104.11512 19.13068 772842
cities %>%
dplyr::rename_at(vars(Nombre:Poblacion_2019), function(x) {
paste0(x, "_Municipio")
}) %>%
dplyr::left_join(
states %>%
dplyr::rename_all(function(x) { paste0(x, "_Entidad")}),
by = "Clave_Entidad"
) %>%
str()
## 'data.frame': 2458 obs. of 15 variables:
## $ Clave_Entidad : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Clave_Municipio : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Nombre_Municipio : chr "Aguascalientes" "Asientos" "Calvillo" "Cosío" ...
## $ Longitud_Municipio : num -102 -102 -103 -102 -102 ...
## $ Latitud_Municipio : num 21.8 22.1 21.9 22.4 21.9 ...
## $ Poblacion_2019_Municipio: int 949277 50354 60181 16766 127835 49479 57359 9551 22468 21710 ...
## $ Nombre_Entidad : chr "Aguascalientes" "Aguascalientes" "Aguascalientes" "Aguascalientes" ...
## $ Nombre_Mayuscula_Entidad: chr "AGUASCALIENTES" "AGUASCALIENTES" "AGUASCALIENTES" "AGUASCALIENTES" ...
## $ Nombre_Completo_Entidad : chr "Aguascalientes" "Aguascalientes" "Aguascalientes" "Aguascalientes" ...
## $ Abreviatura_Entidad : chr "Ags." "Ags." "Ags." "Ags." ...
## $ ISO_3_Entidad : chr "AGU" "AGU" "AGU" "AGU" ...
## $ RENAPO_Entidad : chr "AS" "AS" "AS" "AS" ...
## $ Longitud_Entidad : num -102 -102 -102 -102 -102 ...
## $ Latitud_Entidad : num 22 22 22 22 22 ...
## $ Poblacion_2019_Entidad : int 1415421 1415421 1415421 1415421 1415421 1415421 1415421 1415421 1415421 1415421 ...
Configuration for lintr is in .lintr
file. Lints are treated as warnings, but we strive to be lint-free.
In RStudio, you can run lintr from the console as follows:
> lintr::lint_package()
> library(roxygen2)
> library("devtools")
> devtools::document()
Thanks goes to these wonderful people (emoji key):
Mayra Valdés 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
This package is free and open source software, licensed under GPL.