Datos oficiales de COVID-19 en España

El objetivo principal de este repositorio es facilitar el acceso a los datos oficiales del COVID-19 en España a los que pueden estar interesados en analizarlos empleando R (aunque el 2020-05-21 dejaron de actualizarse, ver comentarios más adelante). Además se incluye una pequeña recopilación de enlaces a recursos que pueden ser de interés.

Inicialmente se comenzó procesando los datos de los informes en pdf del Ministerio de Sanidad, Consumo y Bienestar Social (MSCBS). Aunque a partir del 2020-04-23, como no paraban de cambiar el contenido y el formato de las tablas, lo que requería estar modificando constantemente el código, decidí no continuar con las actualizaciones por falta del tiempo necesario (aunque continué descargando los informes en pdf hasta el 2020-05-23). La recomendación sería utilizar en su lugar por ejemplo los datos en: https://github.com/datadista/datasets/tree/master/COVID%2019.

A partir del 2020-03-26 se podían descargar los datos oficiales acumulados en la página web Situación de COVID-19 en España del Instituto de Salud Carlos III (ISCIII). El 2020-05-08 se actualizó la web del ISCIII y los datos pasaron a poder descargarse de la pestaña Documentación y Datos de una aplicación shiny. Después de bastantes problemas con estos datos (ver detalles más adelante), se actualizó por última vez el 2020-05-21. Estos datos se tomaron como base para el llamamiento del Comité Español de Matemáticas para la creación de un predictor cooperativo (https://covid19.citic.udc.es), lo que condujo a la paralización de esta iniciativa. El código principal para el cálculo de las predicciones cooperativas y la generación de informes esta disponible en el directorio prediccion_cooperativa de este repositorio (junto con las predicciones cooperativas obtenidas durante la vigencia de esta iniciativa; un compromiso de confidencialidad impide proporcionar las predicciones individuales de los grupos participantes).

El 2020-06-10 se añadieron enlaces en la web del ISCIII para descargar nuevos datos, pero incluyen únicamente nuevos casos, por CCAA y por provincias hasta el 2020-06-07 (y no se han vuelto a actualizar). No se ofrece ninguna información sobre si se va a volver a proporcionar la información anterior.

Mi opinión personal es que estos problemas con unos datos tan básicos deberían haberse solucionado hace mucho tiempo y que (llegado el momento) deberían asumir responsabilidades los encargados de los datos de las CCAA y del Ministerio. Parece ser que en algunos casos simplemente cambiaron de criterio algunas CCAA por su cuenta (por motivos políticos), por tanto la responsabilidad sería de sus superiores. En otros casos no se sabe si es simplemente incompetencia, a que no son capaces de entenderse (porque priman criterios políticos) o a qué es debido. En cualquier caso los datos deberían ser de todos y no de algún consejero o administración. Como mínimo habría que aprender de lo que está pasando de cara a mejorar en el futuro…

Tablas

Las tablas (con un procesado mínimo) están almacenadas en los archivos:

  • acumulados.RData (Fecha actualización: 2020-05-21): Evolución diaria de casos por CCAA (ISCIII). Variables: CCAA, FECHA, CASOS, PCR., TestAc., Hospitalizados, UCI, Fallecidos.

  • edadsexo.RData (Fecha actualización: 2020-04-23): Datos por edad y sexo (MSCBS). Variables: sexo, edad, Casos, Hospitalizados, Hospital. (% sexo), UCI, UCI (% sexo), Fallecidos, Fallec. (% sexo), Letalidad (% edad).

  • COVID-19.RData (Fecha actualización: 2020-04-23): Datos por CCAA (MSCBS)

En COVID-19-tablas.html se muestran las tablas actuales. En COVID-19-MSCBS.html se muestran las tablas anteriores del Ministerio de Sanidad, Consumo y Bienestar Social (MSCBS) por fecha del informe. Más adelante se incluyen notas importantes sobre estos datos y se detallan las fuentes empleadas.

El fichero acumula2.RData contiene una modificación de los datos del ISCIII en un formato adecuado para el llamamiento del Comite Español de Matemáticas para la creación de un predictor cooperativo.

  • La web del proyecto es una aplicación Shiny que permite visualizar las predicciones cooperativas (pestaña Predicción cooperativa: Resultados).

  • El archivo historico_cp.RData en la carpeta prediccion_cooperativa contiene las predicciones cooperativas obtenidas durante la vigencia del proyecto.

El 2020-05-13 se añadió el directorio acumula2_hist que contiene el código necesario para generar el histórico de valores reportados del ISCIII: acumula2_hist.RData, empleado para la evaluación de los predictores. También se genera un informe, Informe_acumula2_hist.html, donde se incluyen más detalles (puede servir también para ver algunos de los problemas de los datos reportados por las distintas CCAA en el pasado, pocas se salvan…).

NOTAS acumula2.RData:

  • El 2020-05-21 se actualizó de nuevo el archivo de datos del ISCIII, después de varios días sin hacerlo, pero no se actualizaron los valores reportados por Cataluña y se eliminó la variable recuperados. En este archivo, se les asignó NA a los valores del 2020-05-20 de Cataluña y España.

  • El 2020-05-16 no se actualizó el archivo de datos del ISCIII (se les asignó NA en este archivo), pese a que en el informe del ministerio (Actualizacion_107_COVID-19.pdf) todas las CCAA reportaron datos.

  • El 2020-04-25 se incluyen dos nuevas variables PCR+ y TestAC+ con el número de resultados positivos en pruebas PCR y en test de anticuerpos (se supone que con síntomas) y se reporta NA en algunos valores de la variable Casos (renombrada como confirmados en este archivo) a partir del 2020-04-15. Aunque en versiones anteriores se suponía que se consideraban confirmados solo los positivos por PCR, aparentemente no es el caso, por lo se sustituyeron estos valores por la suma de PCR+ y TestAC+ (desde el 2020-04-28 Galicia ya reporta estas dos variables).

  • El 2020-04-22 se recupera la serie histórica de Cataluña (CT) de hospitalizados, uci, fallecidos y recuperados (que se había eliminado desde el 2020-04-17 porque al parecer estaba en revisión por dicha comunidad autónoma), y se observan cambios en todas las variables respecto a los valores reportados anteriormente.

  • El 2020-04-08 se cambiaron los nombres de las variables del archivo del ISCIII y se cambió el código ISO de Melilla de "ME" a "ML". Sin embargo, por compatibilidad con versiones anteriores el fichero acumula2.RData mantiene por completo la estructura anterior (incluyendo los niveles del factor iso).

  • Se incluye una variable nuevos a partir del incremento en el número de casos acumulados (aunque realmente no es el número de casos nuevos; ver nota) y los totales para España (aunque a día de hoy, esperamos que se solucione pronto, los datos de hospitalización y UCI no son homogéneos entre CCAA; ver comentario más adelante).

NOTAS datos ISCIII y MSCBS:

El 2020-05-21 se actualizó por última vez el archivo de datos del ISCIII (después de varias interrupciones), pero no se actualizaron los valores reportados por Cataluña y se eliminó la variable recuperados. Desde esa fecha hasta el 2020-06-10 no volvieron a reportar nuevos datos. En esa fecha se reportaron únicamente nuevos casos, por CCAA y por provincias hasta el 2020-06-07, en https://cnecovid.isciii.es/covid19/#documentaci%C3%B3n-y-datos. No se oferece ninguna información sobre si se va a volver a proporcionar la información anterior.

El 2020-05-17 se actualizó de nuevo el archivo de datos del ISCIII (después de no haberlo hecho el día anterior). Pero Cataluña, Madrid, el País Vasco y Galicia parecen estar haciendo de las suyas. Cataluña reporta cada día un número de casos nuevos y posteriormente lo incrementa. El País Vasco y aparentemente también Madrid está haciendo algo parecido. No es serio que a estas alturas no sean capaces de mantener una serie de datos tan básica.

El 2020-05-08 se actualizó la web del ISCIII: https://cnecovid.isciii.es, ahora tienen una aplicación Shiny https://cnecovid.isciii.es/covid19 y los datos pueden descargarse de la pestaña Documentación y Datos: https://cnecovid.isciii.es/covid19/resources/agregados.csv (le cambiaron el nombre). Aunque en este repositorio se mantendrá el nombre anterior.

A partir del 2020-04-29 hay un cambio notable en el archivo del ISCIII en los valores reportados por Galicia de UCI (que ahora son acumulados en lugar de prevalencia), fallecidos y recuperados (ver notas más adelante), también disminuye el valor en hospitalizados.

Desde el 2020-04-25 se incluyen en los datos del ISCIII dos nuevas variables PCR+ y TestAC+ con el número de resultados positivos en pruebas PCR y en test de anticuerpos (se supone que con síntomas) y se reporta NA en algunos valores de la variable Casos a partir del 2020-04-15 (no sé muy bien con qué criterio, al principio en varias CCAA y al final solo en Galicia, que no distinguía entre PCR+ y Test+). Desde el 2020-04-28 Galicia ya reporta estas dos variables y la variable Casos pasa a ser NA.

Desde el 2020-04-02 se ha venido informando que los valores de hospitalización y UCI reportados por: Castilla-La Mancha (CM), Castilla y León (CL), Comunidad Valenciana (VC), Madrid (MD) y Galicia (GA), son datos de prevalencia (personas ingresadas en la correspondiente fecha) y no reflejan el total de personas que han sido hospitalizadas o ingresadas en UCI a lo largo del periodo de notificación (al contrario de lo que en principio reporta el resto).
Esto ha ido cambiando a lo largo del tiempo. Desde el 2020-04-28 Galicia ya reporta valores acumulados de UCI (sin embargo sospechamos que ocurre lo mismo con otras CCAA aunque no hasido reportado). Conclusión, por fin parece que empieza a haber homogeneidad en los datos entre CCAA. No me lo puedo creer!! (realmente en UCI no me lo creo), que rapidez!!

Por este motivo, para valores históricos, es preferible recurrir a los datos acumulados del ISCIII. Aparentemente están tratando de solucionar estos problemas y cuando se produce un cambio en el valor reportado por una CA, tratan de corregir todos los valores anteriores. Aunque actualmente no es el caso de muchas CCAA como: Castilla-La Mancha (CM), Castilla y León (CL), Madrid (MD) y Galicia (GA). Sospechamos también que ha ocurrido lo mismo con otras CCAA, como Andalucía, Extremadura y Baleares que aparentan reportar o haber reportado casos de prevalencia, aunque no se ha informado. Seguramente hay más errores…

El 2020-04-08 se cambiaron los nombres de las variables del archivo del ISCIII y se cambió el código ISO de Melilla de "ME" a "ML". Sin embargo, por compatibilidad con versiones anteriores, el fichero acumulados.RData mantiene los nombres de variables anteriores (aunque con el cambio en el factor CCAA.ISO). En esta fecha también se dejó de calcular el total de España de hospitalizados y UCI en la tabla del MSCBS, se recalculó para mantener la compatibilidad.

Una parte muy pequeña (no para de haber sorpresas con estos datos) de la cronología fue la siguiente (si alguien tiene más información al respecto, le agradecería que me lo comunicase):

  • Actualizacion_63_COVID-19.pdf (2020-04-02): Se incluye la primera nota sobre los datos de hospitalizados (“Casos que han precisado hospitalización”) de Castilla-La Mancha (CM), Comunidad Valenciana (VC) y Madrid (MD), y UCI (“Casos que han ingresado en UCI”) de Madrid (MD). No se aporta ninguna información sobre los datos anteriormente publicados.

  • Actualizacion_64_COVID-19.pdf (2020-04-02): Vuelve a aparecer esa nota pero añadiendo, además de los anteriores, los datos de hospitalizados de Castilla y León (CL) y los de UCI de Castilla-La Mancha (CM), Castilla y León (CL), Comunidad Valenciana (VC) y Galicia (GA). Al mismo tiempo, al final del archivo que proporciona el ISCIII serie_historica_acumulados.csv, se incluye: “Los datos de estas comunidades son datos de prevalencia (personas ingresadas a fecha de hoy) No reflejan el total de personas que han sido hospitalizadas o ingresadas en UCI a lo largo del periodo de notificación (CL-CM-MD-VC-MC)” . Sin embargo, al parecer también ocurre lo mismo con los datos de UCI de Galicia (GA). Murcia (MC) no se menciona en los informes del MSCBS.

  • En los siguientes informes se mantiene la misma nota, pero en Actualizacion_66_COVID-19.pdf (2020-04-05) y en la siguiente, no se indica que CCAA son las que aportan datos de prevalencia en hospitalizados o UCI, sin embargo se observa un cambio en Castilla-León en hospitalizados (pasando de 2508 en los datos del 5/4 a 5180 en los del 6/4).

  • Posteriormente sigue habiendo cambios, los anotaré cuando tenga tiempo. Desde el 2020-04-28, en principio, todas las comunidades reportan datos homogéneos (aunque desde el 2020-05-10 está habiendo un baile de datos en los casos reportados en Cataluña y Madrid).

Siguientes pasos:

El primero podría ser tratar de conseguir los datos por áreas sanitarias o provincias. Esta es la información de la que dispongo:

También conseguir datos lo más detallados posibles (y fiables) de la evolución en otros lugares, e.g. Corea del Sur, Italia…

Puedes colaborar a través de GitHub o enviando un correo a rubenfcasal@gmail.com

Fuentes de los datos

En un primer momento, al buscar datos oficiales solo encontré esta web del Ministerio de Sanidad, Consumo y Bienestar Social (MSCBS):

https://www.mscbs.gob.es/profesionales/saludPublica/ccayes/alertasActual/nCov-China/situacionActual.htm

donde se puede descargar un pdf con la situación actual (actualizado a las 13:00 durante la semana y a las 12:00 el fin de semana; en la web también hay actualizaciones a otras horas).

Haciendo pruebas, vi que se podían descargar los documentos desde la actualización 31. El código y los documentos pdfs los podéis encontrar en este repositorio. El archivo COVID-19-descarga.R contiene el código necesario para descargar los pdfs.

Posteriormente, gracias a este comentario en la lista de correo de R-Hispano, descubrí otro repositorio que contiene los datos: https://github.com/datadista/datasets/tree/master/COVID%2019 (de donde pude descargar el fichero Actualizacion_44_COVID.pdf que no encontré en la web oficial).

Desde la Actualizacion_53_COVID-19.pdf (2020-03-23) los archivos contienen nuevas tablas con la distribución de casos hospitalizados, ingresados en UCI y fallecidos por grupos de edad y sexo. La tabla correspondiente a la actualización del 2020-04-23 puede consultarse en el listado de tablas aquí.

Desde el 2020-03-26 se pueden descargar los datos oficiales acumulados en la página web Situación de COVID-19 en España del Instituto de Salud Carlos III (ISCIII).
Archivo: agregados.csv (también disponible en este repositorio aquí; el archivo COVID-19-descarga.R contiene el código necesario para descargar estos datos y COVID-19-actualizar.R para importarlos a R). La tabla correspondiente a la última actualización del 2020-05-21 puede consultarse en el listado de tablas aquí. Este archivo se actualizó por última vez el 2020-05-21 y actualmente no está disponible. Desde el 2020-06-10 se añadieron enlaces en la web del ISCIII para descargar nuevos datos, pero incluyen únicamente nuevos casos, por CCAA y por provincias hasta el 2020-06-07 (y no se han vuelto a actualizar).

Otros enlaces que pueden ser de interés (ver Sección Enlaces):

Preparación de los datos

Instalación de los paquetes necesarios

Para extraer las tablas desde R se emplea el paquete tabulizer, que depende del paquete rJava. Otro paquete que puede ser de utilidad es pdftools, empleado actualmente para extraer las fechas.

Estos dos últimos paquetes se pueden instalar desde CRAN, pero rJava necesitaría tener instalado previamente el Java Runtime Environment correspondiente al equipo y a la versión de R (e.g JRE de 64 bits para Windows).

Para instalar tabulizer se puede emplear el paquete devtools:

devtools::install_github( c("ropenscilabs/tabulizerjars", "ropenscilabs/tabulizer"), 
                          INSTALL_opts = "--no-multiarch" )

Para instalar el resto de paquetes empleados (puede ser recomendable empezar por aquí) basta con ejecutar en la consola de R:

pkgs <- c('rJava', 'pdftools', 'devtools', 'dplyr', 'DT')
install.packages(setdiff(pkgs, installed.packages()[,"Package"]),
                 dependencies = TRUE)

# Si aparecen errores (debidos a incompatibilidades con versiones anteriores de otros paquetes),
# probar a ejecutar en lugar de lo anterior:
# install.packages(pkgs, dependencies = TRUE) # Instala todos...

Extracción

Las tablas por CCAA comienzan en Actualizacion_35_COVID-19.pdf (2020-03-03; en la tabla 3, que no se detecta). Las tablas por CCAA completas comienzan en Actualizacion_36_COVID-19.pdf (2020-03-04), aunque posteriormente hay cambios en los formatos de las tablas y de los archivos.

Como ya se comentó, a partir de la Actualizacion_53_COVID-19.pdf (2020-03-23) están disponibles nuevas tablas con la distribución de casos hospitalizados, ingresados en UCI y fallecidos por grupos de edad y sexo (a partir de los casos notificados que disponían de esa información). También hubo cambios en estas tablas en posteriores informes.

El fichero COVID-19-procesado.R contiene el código necesario para extraer de los pdfs las tablas por grupo de edad y sexo (desde Actualizacion_53_COVID-19.pdf, 2020-03-23) y las tablas por CCAA (desde Actualizacion_36_COVID-19.pdf, 2020-03-04, hasta ¿hoy?). El fichero COVID-19-actualizar.R contiene el código para la última actualización.

Archivos

Las tablas (con un procesado mínimo) están almacenadas en los archivos:

El fichero COVID-19-tablas.html contiene un listado (generado automáticamente a partir de COVID-19-tablas.Rmd).

Colabora

Work in progress… help needed!: Especialmente en cuanto al modelado (actualmente está sesgado al campo de la estadística espacio-temporal, debido a la in/experiencia personal…).

Si quieres puedes ayudar a través de GitHub o enviando un correo a rubenfcasal@gmail.com.

Enlaces

Work in progress… help needed!


Epidemiología (y áreas relacionadas) con R

Paquetes de R

Paquetes y otras herramientas…

  • COVID19, CRAN: Coronavirus COVID-19 (2019-nCoV) Epidemic Datasets

  • cdccovidview: Weekly Surveillance Summary of U.S. COVID-19 Activity

  • coronavirus, CRAN : The 2019 Novel Coronavirus COVID-19 (2019-nCoV) Dataset

  • nCov2019: An R package with real-time data, historical data and Shiny app

  • forecast: Forecasting Functions for Time Series and Linear Models

Se puede realizar una búsqueda en https://rseek.org