knitr::opts_chunk$set( collapse = TRUE, dpi=200, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
A package for analysing COVID-19 Argentina's outbreak
| Release | Usage | Development |
|:--------|:------|:------------|
| | |
|
|
| |
|
|||
|
Install the R package using the following commands on the R console:
# install.packages("devtools") devtools::install_github("rOpenStats/COVID19AR")
First add variable with your preferred configurations in ~/.Renviron
. COVID19AR_data_dir is mandatory while COVID19AR_credits can be configured if you want to publish your own research.
COVID19AR_data_dir = "~/.R/COVID19AR" COVID19AR_credits = "@youralias"
library(COVID19AR) library(ggplot2)
opendata From Ministerio de Salud de la Nación Argentina
log.dir <- file.path(getEnv("data_dir"), "logs") dir.create(log.dir, recursive = TRUE, showWarnings = FALSE) log.file <- file.path(log.dir, "covid19ar.log") lgr::get_logger("root")$add_appender(AppenderFile$new(log.file)) lgr::threshold("info", lgr::get_logger("root")) lgr::threshold("debug", lgr::get_logger("COVID19ARCurator")) # Data from # http://datos.salud.gob.ar/dataset/covid-19-casos-registrados-en-la-republica-argentina covid19.curator <- COVID19ARCurator$new(report.date = Sys.Date() -1 , download.new.data = FALSE) dummy <- covid19.curator$loadData() dummy <- covid19.curator$curateData() # Dates of current processed file max(covid19.curator$data$fecha_apertura, na.rm = TRUE) # Inicio de síntomas max(covid19.curator$data$fecha_inicio_sintomas, na.rm = TRUE) # Ultima muerte max(covid19.curator$data$fecha_fallecimiento, na.rm = TRUE) report.date <- max(covid19.curator$data$fecha_inicio_sintomas, na.rm = TRUE) covid19.ar.summary <- covid19.curator$makeSummary(group.vars = NULL) kable(covid19.ar.summary %>% select(max_fecha_diagnostico, confirmados, fallecidos, letalidad.min.porc, letalidad.max.porc, count_fecha_diagnostico, tests, positividad.porc)) covid19.ar.provincia.summary <- covid19.curator$makeSummary(group.vars = c("residencia_provincia_nombre")) covid19.ar.provincia.summary.100.confirmed <- covid19.ar.provincia.summary %>% filter(confirmados >= 100) %>% arrange(desc(confirmados)) # Provinces with > 100 confirmed cases kable(covid19.ar.provincia.summary.100.confirmed %>% select(residencia_provincia_nombre, confirmados, fallecidos, confirmados, fallecidos, letalidad.min.porc, letalidad.max.porc, count_fecha_diagnostico, tests, positividad.porc))
covid19.ar.summary <- covid19.curator$makeSummary(group.vars = c("residencia_provincia_nombre")) nrow(covid19.ar.summary) porc.cols <- names(covid19.ar.summary)[grep("porc", names(covid19.ar.summary))] kable((covid19.ar.summary %>% filter(confirmados > 0) %>% arrange(desc(confirmados))) %>% select_at(c("residencia_provincia_nombre", "confirmados", "tests", "fallecidos", "dias.fallecimiento",porc.cols)))
rg <- ReportGeneratorCOVID19AR$new(covid19ar.curator = covid19.curator) rg$preprocess() rg$getDepartamentosExponentialGrowthPlot() rg$getDepartamentosCrossSectionConfirmedPostivityPlot()
covid19.ar.summary <- covid19.curator$makeSummary(group.vars = c("sepi_apertura")) nrow(covid19.ar.summary) porc.cols <- names(covid19.ar.summary)[grep("porc", names(covid19.ar.summary))] kable(covid19.ar.summary %>% filter(confirmados > 0) %>% arrange(sepi_apertura, desc(confirmados)) %>% select_at(c("sepi_apertura", "max_fecha_diagnostico", "count_fecha_diagnostico", "confirmados", "tests", "internados", "fallecidos", porc.cols)))
```r covid19.ar.summary <- covid19.curator$makeSummary(group.vars = c("residencia_provincia_nombre", "sepi_apertura")) nrow(covid19.ar.summary) porc.cols <- names(covid19.ar.summary)[grep("porc", names(covid19.ar.summary))] sepi.fechas <- covid19.curator$data %>% group_by(sepi_apertura) %>% summarize(ultima_fecha_sepi = max(fecha_apertura), .groups = "keep") data2plot <- covid19.ar.summary %>% filter(residencia_provincia_nombre %in% covid19.ar.provincia.summary.100.confirmed$residencia_provincia_nombre) %>% filter(confirmados > 0 ) %>% filter(positividad.porc <=0.6 | confirmados >= 20) data2plot %<>% inner_join(sepi.fechas, by = "sepi_apertura") dates <- sort(unique(data2plot$ultima_fecha_sepi)) covplot <- data2plot %>% ggplot(aes(x = ultima_fecha_sepi, y = confirmados, color = "confirmados")) + geom_line() + facet_wrap(~residencia_provincia_nombre, ncol = 2, scales = "free_y") + labs(title = "Evolución de casos confirmados y tests\n en provincias > 100 confirmados") covplot <- covplot + geom_line(aes(x = ultima_fecha_sepi, y = tests, color = "tests")) + facet_wrap(~residencia_provincia_nombre, ncol = 2, scales = "free_y") covplot <- setupTheme(covplot, report.date = report.date, x.values = dates, x.type = "dates", total.colors = 2, data.provider.abv = "@msalnacion", base.size = 6) covplot <- covplot + scale_y_log10() covplot
covplot <- data2plot %>% ggplot(aes(x = ultima_fecha_sepi, y = positividad.porc, color = "positividad.porc")) + geom_line() + facet_wrap(~residencia_provincia_nombre, ncol = 2, scales = "free_y") + labs(title = "Porcentajes de positividad, uso de UCI, respirador y letalidad\n en provincias > 100 confirmados") covplot <- covplot + geom_line(aes(x = ultima_fecha_sepi, y = cuidado.intensivo.porc, color = "cuidado.intensivo.porc")) + facet_wrap(~residencia_provincia_nombre, ncol = 2, scales = "free_y") covplot <- covplot + geom_line(aes(x = ultima_fecha_sepi, y = respirador.porc, color = "respirador.porc"))+ facet_wrap(~residencia_provincia_nombre, ncol = 2, scales = "free_y") covplot <- covplot + geom_line(aes(x = ultima_fecha_sepi, y = letalidad.min.porc, color = "letalidad.min.porc")) + facet_wrap(~residencia_provincia_nombre, ncol = 2, scales = "free_y") covplot <- setupTheme(covplot, report.date = report.date, x.values = dates, x.type = "dates", total.colors = 4, data.provider.abv = "@msalnacion", base.size = 6) covplot
covid19.ar.summary <- covid19.curator$makeSummary(group.vars = c("residencia_provincia_nombre", "sexo")) nrow(covid19.ar.summary) porc.cols <- names(covid19.ar.summary)[grep("porc", names(covid19.ar.summary))] kable((covid19.ar.summary %>% filter(confirmados >= 10) %>% arrange(desc(confirmados))) %>% select_at(c("residencia_provincia_nombre", "sexo", "confirmados", "internados", "fallecidos", porc.cols)))
covid19.ar.summary <- covid19.curator$makeSummary(group.vars = c("residencia_provincia_nombre", "edad.rango")) # Share per province provinces.cases <-covid19.ar.summary %>% group_by(residencia_provincia_nombre) %>% summarise(fallecidos.total.provincia = sum(fallecidos), confirmados.total.provincia = sum(confirmados), .groups = "keep") covid19.ar.summary %<>% inner_join(provinces.cases, by = "residencia_provincia_nombre") covid19.ar.summary %<>% mutate(fallecidos.prop = fallecidos/fallecidos.total.provincia) covid19.ar.summary %<>% mutate(confirmados.prop = confirmados/confirmados.total.provincia) # Data 2 plot data2plot <- covid19.ar.summary %>% filter(residencia_provincia_nombre %in% # Proporción de confirmados por rango etario covid19.ar.provincia.summary.100.confirmed$residencia_provincia_nombre) covidplot <- data2plot %>% ggplot(aes(x = edad.rango, y = confirmados.prop, fill = edad.rango)) + geom_bar(stat = "identity") + facet_wrap(~residencia_provincia_nombre, ncol = 2, scales = "free_y") + labs(title = "Proporción de confirmados por rango etario\n en provincias > 100 confirmados") covidplot <- setupTheme(covidplot, report.date = report.date, x.values = NULL, x.type = NULL, total.colors = length(unique(data2plot$edad.rango)), data.provider.abv = "@msalnacion", base.size = 6) # Proporción de muertos por rango etario covidplot #Plot of deaths share covidplot <- data2plot %>% ggplot(aes(x = edad.rango, y = fallecidos.prop, fill = edad.rango)) + geom_bar(stat = "identity") + facet_wrap(~residencia_provincia_nombre, ncol = 2, scales = "free_y") + labs(title = "Proporción de muertos por rango etario\n en provincias > 100 confirmados") covidplot <- setupTheme(covidplot, report.date = report.date, x.values = NULL, x.type = NULL, total.colors = length(unique(data2plot$edad.rango)), data.provider.abv = "@msalnacion", base.size = 6) # Proporción de muertos por rango etario covidplot # UCI rate covidplot <- data2plot %>% ggplot(aes(x = edad.rango, y = cuidado.intensivo.porc, fill = edad.rango)) + geom_bar(stat = "identity") + facet_wrap(~residencia_provincia_nombre, ncol = 2, scales = "free_y") + labs(title = "Porcentaje de pacientes en Unidades de Cuidados Intensivos por rango etario\n en provincias > 100 confirmados") covidplot <- setupTheme(covidplot, report.date = report.date, x.values = NULL, x.type = NULL, total.colors = length(unique(data2plot$edad.rango)), data.provider.abv = "@msalnacion", base.size = 6) covidplot # ventilator rate covidplot <- data2plot %>% ggplot(aes(x = edad.rango, y = respirador.porc, fill = edad.rango)) + geom_bar(stat = "identity") + facet_wrap(~residencia_provincia_nombre, ncol = 2, scales = "free_y") + labs(title = "Porcentaje de pacientes que utilizaron respirador mecánico por rango etario\n en provincias > 100 confirmados") covidplot <- setupTheme(covidplot, report.date = report.date, x.values = NULL, x.type = NULL, total.colors = length(unique(data2plot$edad.rango)), data.provider.abv = "@msalnacion", base.size = 6) covidplot # fatality rate covidplot <- data2plot %>% ggplot(aes(x = edad.rango, y = letalidad.min.porc, fill = edad.rango)) + geom_bar(stat = "identity") + facet_wrap(~residencia_provincia_nombre, ncol = 2, scales = "free_y") + labs(title = "Porcentaje de letalidad por rango etario\n en provincias > 100 confirmados") covidplot <- setupTheme(covidplot, report.date = report.date, x.values = NULL, x.type = NULL, total.colors = length(unique(data2plot$edad.rango)), data.provider.abv = "@msalnacion", base.size = 6) covidplot
output.dir <- "~/.R/COVID19AR/" dir.create(output.dir, showWarnings = FALSE, recursive = TRUE) exportAggregatedTables(covid19.curator, output.dir = output.dir, aggrupation.criteria = list(provincia_residencia = c("residencia_provincia_nombre"), provincia_localidad_residencia = c("residencia_provincia_nombre", "residencia_departamento_nombre"), provincia_residencia_sexo = c("residencia_provincia_nombre", "sexo"), edad_rango_sexo = c("edad.rango", "sexo"), provincia_residencia_edad_rango = c("residencia_provincia_nombre", "edad.rango"), provincia_residencia_sepi_apertura = c("residencia_provincia_nombre", "sepi_apertura"), provincia_residencia = c("residencia_provincia_nombre", "residencia_departamento_nombre", "sepi_apertura"), provincia_residencia_fecha_apertura = c("residencia_provincia_nombre", "fecha_apertura")))
All this tables are accesible at COVID19ARdata
Citation
Alejandro Baranek, COVID19AR, 2020. URL: https://github.com/rOpenStats/COVID19AR
BibTex @techreport{baranek2020Covid19AR, Author = {Alejandro Baranek}, Institution = {rOpenStats}, Title = {COVID19AR: a package for analysing Argentina COVID-19 outbreak}, Url = {https://github.com/rOpenStats/COVID19AR}, Year = {2020}}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.