Skip to content

Instantly share code, notes, and snippets.

@bgonzalezbustamante
Created September 25, 2020 20:04
Show Gist options
  • Save bgonzalezbustamante/996db6dde664afc75c235ecbfa75a009 to your computer and use it in GitHub Desktop.
Save bgonzalezbustamante/996db6dde664afc75c235ecbfa75a009 to your computer and use it in GitHub Desktop.
##############################################################
## Incidence in South America Code
## R version 3.6.1 (2019-07-05) -- "Action of the Toes"
## Date: May 2020
## Bastián González-Bustamante
## University of Oxford
## E-mail: bastian.gonzalezbustamante@politics.ox.ac.uk
## Oxford Website: http://users.ox.ac.uk/~shil5311/
## Landing Page: https://bgonzalezbustamante.com/
## COVID-19 Pandemic in South America Project
## OSF-Project DOI: 10.17605/OSF.IO/6FM7X
## http://bgonzalezbustamante.github.io/COVID-19-South-America/
##############################################################
## Data from the Scraper
## https://gist.github.com/bgonzalezbustamante/15363fb0d33ed373dcba16f6cf6ce17f
## Import Data
covid19 <- read.csv("../00.Data/data_covid19.csv", header = T, sep = ",")
covid19$X <- NULL
names(covid19)[1] = "dates"
## Find Negatives
(covid19[, 2] < 0)[(covid19[, 2] < 0)=="TRUE"] ## GBR
(covid19[, 3] < 0)[(covid19[, 3] < 0)=="TRUE"] ## ESP
(covid19[, 4] < 0)[(covid19[, 4] < 0)=="TRUE"] ## ITA
(covid19[, 5] < 0)[(covid19[, 5] < 0)=="TRUE"] ## ARG
(covid19[, 6] < 0)[(covid19[, 6] < 0)=="TRUE"] ## BOL
(covid19[, 7] < 0)[(covid19[, 7] < 0)=="TRUE"] ## BRA
(covid19[, 8] < 0)[(covid19[, 8] < 0)=="TRUE"] ## CHL
(covid19[, 9] < 0)[(covid19[, 9] < 0)=="TRUE"] ## COL
(covid19[, 10] < 0)[(covid19[, 10] < 0)=="TRUE"] ## ECU
(covid19[, 11] < 0)[(covid19[, 11] < 0)=="TRUE"] ## PRY
(covid19[, 12] < 0)[(covid19[, 12] < 0)=="TRUE"] ## PER
(covid19[, 13] < 0)[(covid19[, 13] < 0)=="TRUE"] ## URY
(covid19[, 14] < 0)[(covid19[, 14] < 0)=="TRUE"] ## VEN
## Correction-1
covid19[, 3] < 0
covid19[85, 3] <- 0 ## 24 April (Spain)
covid19[85, 3]
## Correction-2
covid19[, 10] < 0
covid19[98, 10] <- 0 ## 7 May (Ecuador)
covid19[99, 10] <- 0 ## 8 may (Ecuador)
covid19[102, 10] <- 0 ## 11 May (Ecuador)
covid19[98, 10]
covid19[99, 10]
covid19[102, 10]
## Correction-3
covid19[, 13] < 0
covid19[73, 13] <- 0 ## 12 April (Uruguay)
covid19[73, 13]
## South America Incidence
## Slice Data
covid_sa <- slice(covid19, 27:nrow(covid19))
## By Country
data_arg <- select(covid_sa, dates, ARG)
data_bol <- select(covid_sa, dates, BOL)
data_bra <- select(covid_sa, dates, BRA)
data_chl <- select(covid_sa, dates, CHL)
data_col <- select(covid_sa, dates, COL)
data_ecu <- select(covid_sa, dates, ECU)
data_pry <- select(covid_sa, dates, PRY)
data_per <- select(covid_sa, dates, PER)
data_ury <- select(covid_sa, dates, URY)
data_ven <- select(covid_sa, dates, VEN)
# Combine Datasets
south_am <- merge(data_arg, data_bol, by = "dates", all = TRUE)
south_am <- merge(south_am, data_bra, by = "dates", all = TRUE)
south_am <- merge(south_am, data_chl, by = "dates", all = TRUE)
south_am <- merge(south_am, data_col, by = "dates", all = TRUE)
south_am <- merge(south_am, data_ecu, by = "dates", all = TRUE)
south_am <- merge(south_am, data_pry, by = "dates", all = TRUE)
south_am <- merge(south_am, data_per, by = "dates", all = TRUE)
south_am <- merge(south_am, data_ury, by = "dates", all = TRUE)
south_am <- merge(south_am, data_ven, by = "dates", all = TRUE)
# Replace NAs
south_am[is.na(south_am)] <- 0
## Incidence Object
i.group.sa <- as.incidence(x = south_am[, 2:11], interval = 1,
dates = as.Date(south_am$date))
## Colours
sa_colors <- c("#00ccff", "#009900", "#e6e600", "#cc0000",
"#00004d", "#0033cc", "#ffffff", "#73878c",
"#99ccff", "#631d1d")
## Pool Incidence
i.pooled.sa <- pool(i.group.sa)
## Plot
plot(i.group.sa, border = "#00001a", show_cases = FALSE, color = sa_colors) +
theme_minimal(base_size = 12) + theme(legend.position = "bottom") +
theme(panel.grid.minor = element_blank()) +
theme(axis.text.x = element_text(angle = 35, hjust = 1, color = "black")) +
labs(title = "COVID-19 - Coronavirus", subtitle = "Epidemic Curve in South America", x = NULL, fill = NULL,
caption = "Data up to 16 May - DOI: 10.17605/OSF.IO/Y6C7Z \n Note: There is inconsistency on 12 April data in the Uruguayan case. \n As well as on 7, 8, and 9 May data in the Ecuadorian case.") +
theme(plot.margin = unit(c(0.5,0.5,0.5,0.5), "cm")) +
scale_y_continuous(labels = scales::comma)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment