Un paquete para obtener datos oficiales sobre casos de Covid-19 en México y el mundo. Creado por Pablo Reyes. Última actualizacion: 2020-04-26 23:09:42.
Para instalar el paquete, es necesario usar install_github
, pues el
paquete no está disponible en la CRAN.
devtools::install_github("pablorm296/covidMex")
Para obtener el último reporte oficial sobre casos de SARS-CoV-2 en
México, usa la función covidOfficialMx
.
library(covidMex)
# Descargar reporte oficial de la SS (datos abiertos)
datos_abiertos <- covidOfficialMx()
En las primeras versiones de este paquete, sólo era posible examinar un
reporte de casos sospechosos y casos confirmados con un número limitado
de variables. Esto se debía a que la Secretaría de Salud del Gobierno
Federal publicaba estas dos tablas en formato PDF y sólo mediante
terceros era posible conseguir versiones en formato abierto (CSV, XLSX).
Afortunadamente, desde el 14 de abril de 2020, la Secretaría de Salud
comenzó a publicar un reporte en formato abierto más completo con
información de los casos a los que se les da seguimiento (véase arriba
el uso de covidOfficialMx
).
Decidí mantener estas dos tablas de casos sospechosos y confirmados para garantizar una continuidad en el formato de los datos y el funcionamiento del código escrito con el paquete; esto facilitará su comparación y análisis.
Para obtener el reporte de casos confirmados en México, usa la
función covidConfirmedMx
. Para obtener el reporte sobre los casos
sospechosos en México, usa la función covidSuspectsMx
.
# Descargar reporte de casos sospechosos
sospechosos <- covidSuspectsMx()
# Descargar reporte de casos confirmados
confirmados <- covidConfirmedMx()
Para obtener el reporte más reciente sobre nuevos casos y defunciones
en el mundo, usa la función covidWWSituation
.
# Descargar reporte de nuevos casos y defunciones en el mundo
casosCovidMundo <- covidWWSituation()
covidConfirmedMx
, covidSuspectsMx
, covidOfficialMx
y
covidWWSituation
son
wrappers
de getData
.
La función getData
te permite descargar un reporte oficial específico.
Con el parámetro where
especificas el ámbito del reporte (México o el
resto del mundo). Con el parámetro type
puedes especificar el tipo de
reporte a cargar (casos confirmados o casos sospechosos). Con el
parámetro date
especificas la versión del reporte (fecha en que fue
publicado). Si no se encuentra la fecha especificada, getData
intentará descargar el reporte del día anterior y notificará al usuario
por medio de una warning
.
# Descargar reporte en formato abierto de la secretaría de Salud
oficial <- getData(where = "Mexico", type = "suspects", date = "today",
source = "SSA", neat = TRUE)
# Descargar reporte de casos sospechosos en México
sospechosos <- getData(where = "Mexico", type = "suspects", date = "today",
source = "Serendipia", neat = TRUE)
# Descargar reporte de casos confirmados en México
confirmados <- getData(where = "Mexico", type = "confirmed", date = "today",
source = "Serendipia", neat = TRUE)
# Descarga una versión anterior del reporte
sospechosos_old <- getData(where = "Mexico", type = "confirmed", date = "16/03/2020",
source = "Serendipia", neat = TRUE)
# Descarga reporte de situación en resto del mundo
casosCovidMundo <- getData(where = "worldWide", type = "confirmed", date = "today",
source = "ECDC", neat = TRUE)
Seguro notaste que getData
también acepta un parámetro source
; éste
sirve para especificar la fuente de datos a cargar. Por el momento,
getData
usa cuatro fuentes de datos:
Los usuarios de versiones anteriores notarán que la fuente Guzmart
ya
no está en esta lista. Aunque aún se puede usar este paquete para
acceder a los reportes publicados en el repositorio de Katia
Guzmán, usando getData
o
GetFromGuzmart
, esta opción ha sido deprecada, pues el repositorio
dejó de recibir actualizaciones el 6 de abril de 2020.
# Descargar reporte de casos confirmados en México
# Esta vez, especificando que queremos usar el sitio de Serendipia
confirmados <- getData(where = "Mexico", type = "confirmed", date = "today",
source = "Serendipia", neat = TRUE)
# Descarga reporte de casos en el resto del mundo
# Especificamos que lo queremos desde el repositorio de la Johns Hopkins University
casosCovidMundo <- getData(where = "worldWide", type = "confirmed", date = "today",
source = "JHU", neat = TRUE)
Adicionalmente, cada vez que el usuario cargue el paquete, un mensaje le notificará las fuentes de datos disponibles:
library(covidMex)
## covidMex Package
## Version: 0.5.0
## Last Package Update: 26/04/2020
## Available Data Sources:
## Confirmed Cases in Mexico: Serendipia, SSA
## Suspect Cases in Mexico: Serendipia
## WorldWide Situation Report: ECDC, JHU CSSE
El último parámetro de getData
es neat
. Este parámetro le indica a
la función si el usuario desea pre procesar el tibble
obtenido de las
fuentes de datos. En el caso del reporte oficial generado por la
Secretaría de Salud, neat
convertirá en factor
las variable y usará
el catálogo de valores adjunto al dataset.
Debido a la variedad de fuentes de datos y formatos en los que se
presentan estos, cuando usas getData
, debes tener en cuenta que no
todas las combinaciones de parámetros son posibles. Por favor, toma en
cuenta la siguiente tabla. En ella, podras ver los parámetros válidos
dado un valor de
where
.
| Where | Source | Type | Date | Neat | | --------- | ---------- | ------------------- | ---------------------------------------------------- | ----------- | | Mexico | Serendipia | confirmed, suspects | today o cualquier fecha del 15/03/2020 en adelante | TRUE, FALSE | | Mexico | SSA | confirmed | today | TRUE, FALSE | | Mexico | Guzmart | confirmed | today o cualquier fecha del 16/03/2020 al 06/04/2020 | TRUE, FALSE | | worldWide | ECDC | confirmed | today o cualquier fecha del 01/01/2020 en adelante | TRUE, FALSE | | worldWide | JHU | confirmed | today o cualquier fecha del 24/01/2020 en adelante | TRUE, FALSE |
# Tabla de casos confirmados
covidConfirmedMx() %>%
# Asignar casos a grupos de edad (10 grupos; 0-10, 11-20, 19-30... 81-90, 90+)
mutate(GrupoEdad = cut(edad,
breaks = c(seq(0, 90, by = 10), Inf),
include.lowest = T)) %>%
# ggplot!
ggplot() +
geom_bar(aes(x = GrupoEdad, y = ..count..), colour = "#CC7390",
fill = "#CC7390", alpha = 0.5, na.rm = T) +
labs(x = "Grupo de Edad", y = "Casos",
title = "¿Qué edad tienen los infectados de SARS-CoV-2 en México?") +
theme_light() +
theme(text = element_text(family = "Quicksand Medium"),
title = element_text(family = "Keep Calm Med"))
# Tabla de nuevos casos y muertes
covidWWSituation() %>%
# Seleccionar países
filter(pais_territorio %in% c("Mexico", "Spain",
"Italy", "Brazil",
"United_States_of_America")) %>%
# Covertrr fechas en Date y cambiar guiones bajos en espacios
mutate(fecha_corte = as.Date(fecha_corte),
pais_territorio = gsub("_", " ", pais_territorio, fixed = T)) %>%
# Ordenar y agrupar
arrange(pais_territorio, fecha_corte) %>%
group_by(pais_territorio) %>%
# Contar casos acumulados
mutate(casos_acumulados = cumsum(casos_nuevos)) %>%
# Eliminar observaciones vacías hasta encontrar el primer caso
# Mantener filas a partir de la primer fila donde casos_nuevos != 0
filter(row_number() >= min(row_number()[casos_acumulados > 100])) %>%
# Días desde el primer caso y suma acumulada de casos
mutate(dias_transcurridos = fecha_corte - fecha_corte[1L]) %>%
# ggplot!
ggplot(aes(x = dias_transcurridos, y = casos_acumulados, colour = pais_territorio)) +
# Líneas
geom_line(size = 1.2, alpha = 0.7) +
# Escalas
scale_y_continuous(trans = "log2") +
# Títulos
labs(y = "log(Casos acumulados)", x = "Días transcurridos desde el caso N° 100",
title = "¿Qué tan rápido se contagia el SARS-CoV-2?",
subtitle = "Casos acumulados en cinco países desde que se confirmó el caso N° 100",
colour = "País",
caption = "Datos del Centro Europeo para la Prevención y Control de Enfermedades") +
# Tema <3
theme_light() +
theme(text = element_text(family = "Quicksand Medium"),
title = element_text(family = "Keep Calm Med"))
Por favor, si usas este paquete en publicaciones, cita el paquete y las fuentes de datos.
Los datos de casos sospechosos y confirmados en México son publicados por la Secretaría de Salud federal del gobierno mexicano:
Las versiones plain text de los reportes de la Secretaría de Salud fueron publicadas originalmente en:
Los datos del reporte situacional en el resto del mundo son publicados por dos fuentes: el Centro Europeo para la Prevención y Control de Enfermedades (ECDC) y el Johns Hopkins University Center for Systems Science and Engineering.
European Centre for Disease Prevention and Control, “Download today’s data on the geographic distribution of COVID-19 cases worldwide”, https://www.ecdc.europa.eu/en/publications-data/download-todays-data-geographic-distribution-covid-19-cases-worldwide, consultado el 25 de marzo de 2020.
Johns Hopkins University Center for Systems Science and Engineering, “COVID-19: Novel Coronavirus (COVID-19) Cases”, repositorio en GitHub, https://github.com/CSSEGISandData/COVID-19, consultado el 25 de marzo de 2020.
Probado en:
| platform | arch | os | system | status | major | minor | year | month | day | svn.rev | language | version.string | nickname | | :------------------- | :------ | :-------- | :----------------- | :----- | :---- | :---- | :--- | :---- | :-- | :------ | :------- | :--------------------------- | :------------------- | | x86_64-pc-linux-gnu | x86_64 | linux-gnu | x86_64, linux-gnu | | 3 | 6.3 | 2020 | 02 | 29 | 77875 | R | R version 3.6.3 (2020-02-29) | Holding the Windsock |
getData
and ParseSerendipia
functions.date
type object in getData
(as date
parameter).R CMD Check
remain unattended.ParseSerendipia
function renamed to GetFromSerendipia
.getData
GetFromGuzmart
function. This functions downloads data from Katia
Guzman’s GitHub repo."guzmart"
is now a valid source
parameter value in getData
function. Downloads data from Katia Guzman’s GitHub repo.onAttach
message fixed. It was not clear if the ‘last update’ info
was about package or data.getData
function.covidSuspectsMx
and covidConfirmedMx
functions. These are “super
easy/fast to use” wrappers of getData
.neat
in getData
, GetFromSerendipia
, and
GetFromGuzmart
functions. This parameter allows user to decide if
some data cleaning is performed on the returned tibbles
by
GetFromSerendipia
and GetFromGuzmart
. Specially, proper date
parsing and state name capitalizing.getFromSerendipia
.getData
, GetFromSerendipia
, and GetFromGuzmart
neat
parameter is now set to FALSE
as default. This prevents errors
when unexpected column names mess with clean routine.getData
, covidWWSituation
or via
GetFromECDC
, GetFromJHU
.GetFromSerendipia
broke after changes in Serendipia’s report
naming pattern. Now, function searches for date pattern; when found,
looks for link to relevant file in nearby html nodes by matching
some regex.GetFromGuzmart
is now deprecated, since the GitHub repo used as
the data source stopped daily updates. Will remove in future
versions. GetFromSerendipia
and getFromSSA
are the suggested
replacements. Deprecation warnings placed in documentation
(getData
, GetFromGuzmart
) and main function routine
(GetFromGuzmart
).GetFromSerendipia
is the default method for covidConfirmedMx
wrapper.getData
or covidOfficialMx
wrapper, or directly using
GetFromSSA
.GetFromGuzmart
, and Guzmart
(source
parameter in
getData
).neat
parameter is used in GetFromSSA
, include state and
municipalities names.date
parameter in
GetFromSSA
.Esta
obra está bajo una
Licencia
Creative Commons Atribución-NoComercial-CompartirIgual 4.0
Internacional
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.