Here we present an analysis of the confirmed cases, deaths and case fatality rates with the aim of illuminating the efforts geared towards the dilapidating pandemic accross the african continent.
The data analysed is taken from the World Health Organisation (WHO) website sprinklr. It includes all the cases and deaths registered up until the 19th of April, 2020 accross the African continent.
## Import confirmed cases and death data from sprinklr
sprinklr_deaths_cases_v2 <- read.csv("WHO-COVID-19-global-data_new2.csv")
sprinklr_deaths_cases_v2$Date_reported <- as.Date(sprinklr_deaths_cases_v2$Date_reported)
## Data structure
str(sprinklr_deaths_cases_v2)
## 'data.frame': 18918 obs. of 8 variables:
## $ Date_reported : Date, format: "2020-02-24" "2020-02-25" ...
## $ Country_code : Factor w/ 215 levels "AD","AE","AF",..: 3 3 3 3 3 3 3 3 3 3 ...
## $ Country : Factor w/ 216 levels "Afghanistan",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ WHO_region : Factor w/ 7 levels "","AFRO","AMRO",..: 4 4 4 4 4 4 4 4 4 4 ...
## $ New_cases : int 1 0 0 0 0 0 0 0 0 0 ...
## $ Cumulative_cases : int 1 1 1 1 1 1 1 1 1 1 ...
## $ New_deaths : int 0 0 0 0 0 0 0 0 0 0 ...
## $ Cumulative_deaths: int 0 0 0 0 0 0 0 0 0 0 ...
sprinklr_deaths_cases_v2_may20 <- sprinklr_deaths_cases_v2[sprinklr_deaths_cases_v2$Date_reported < as.Date("2020-06-01"), ]
## Some countries even though in Africa, are categorised as EMRO (Eastern Mediterranean) region. We however added them to the analysis,
Others <- c("Libya", "Morocco", "Tunisia", "Sudan", "Djibouti", "Somalia", "Egypt")
## Generate week variable
sprinklr_deaths_cases_v2_may20$week <- cut(as.Date(sprinklr_deaths_cases_v2_may20$Date_reported), 'week', start.on.monday = FALSE)
## Get african countries that have on the meditaranean side (EMRO)
sprinklr_deaths_cases_v2_afri_north <- sprinklr_deaths_cases_v2_may20[sprinklr_deaths_cases_v2_may20$Country %in% Others, ]
sprinklr_deaths_cases_v2_afri_north$afro <- "North"
## Get rest of the countries which are categorised as Afrom
sprinklr_deaths_cases_v2_afri <- sprinklr_deaths_cases_v2_may20[sprinklr_deaths_cases_v2_may20$WHO_region %in% "AFRO", ]
## Regional assignments have been verified from http://www.west-africa-brief.org/content/en/six-regions-african-union
## Add African region to dataset
sprinklr_deaths_cases_v2_afri$afro <- NA
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Algeria", "afro"] <- "North"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Angola", "afro"] <- "South"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Benin", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Botswana", "afro"] <- "South"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Burkina Faso", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Burundi", "afro"] <- "Central"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Cabo Verde", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Cameroon", "afro"] <- "Central"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Central African Republic", "afro"] <- "Central"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Chad", "afro"] <- "Central"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Congo", "afro"] <- "Central"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Côte d’Ivoire", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Democratic Republic of the Congo", "afro"] <- "Central"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Equatorial Guinea", "afro"] <- "Central"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Eritrea", "afro"] <- "East"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Eswatini", "afro"] <- "South"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Ethiopia", "afro"] <- "East"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Gabon", "afro"] <- "Central"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Gambia", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Ghana", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Guinea", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Guinea-Bissau", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Kenya", "afro"] <- "East"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Liberia", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Madagascar", "afro"] <- "East"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Malawi", "afro"] <- "South"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Mali", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Mauritania", "afro"] <- "North"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Mauritius", "afro"] <- "East"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Mayotte", "afro"] <- "South"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Mozambique", "afro"] <- "South"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Namibia", "afro"] <- "South"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Niger", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Nigeria", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Réunion", "afro"] <- "South"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Rwanda", "afro"] <- "East"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Sao Tome and Principe", "afro"] <- "Central"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Senegal", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Seychelles", "afro"] <- "East"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Sierra Leone", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "South Africa", "afro"] <- "South"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "South Sudan", "afro"] <- "East"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Togo", "afro"] <- "West"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Uganda", "afro"] <- "East"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "United Republic of Tanzania", "afro"] <- "East"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Zambia", "afro"] <- "South"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Zimbabwe", "afro"] <- "South"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Congo", "afro"] <- "Central"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Comoros", "afro"] <- "East"
sprinklr_deaths_cases_v2_afri[sprinklr_deaths_cases_v2_afri$Country %in% "Lesotho", "afro"] <- "South"
## Conbine by the to get complete dataset
sprinklr_deaths_cases_v2_afri_ <- rbind(sprinklr_deaths_cases_v2_afri_north, sprinklr_deaths_cases_v2_afri)
##Summarize by week
#covid_combind_week[is.na(covid_combind_week)] <- 0
sprinklr_deaths_cases_v2_afri_region_wk <- sprinklr_deaths_cases_v2_afri_ %>%
group_by(afro, week) %>%
dplyr::summarise(cases = sum(New_cases), deaths = sum(New_deaths))
sprinklr_deaths_cases_v2_afri_region_wk_cum <- sprinklr_deaths_cases_v2_afri_region_wk %>%
group_by(afro) %>%
dplyr::mutate(ccases = cumsum(cases), cdeaths = cumsum(deaths))
## Generate case fatality
sprinklr_deaths_cases_v2_afri_region_wk_cum$cfr <- (sprinklr_deaths_cases_v2_afri_region_wk_cum$cdeaths / sprinklr_deaths_cases_v2_afri_region_wk_cum$ccases) * 100
## Add countries with no cases (comoros and lesotho)
## sprinklr_deaths_cases_v2_afri_region_wk_cum <- rbind(sprinklr_deaths_cases_v2_afri_region_wk_cum, list())
writexl::write_xlsx(sprinklr_deaths_cases_v2_afri_region_wk, "sprinklr_deaths_cases_v2_afri_region_wk31May.xlsx")
## Transform data into a format squitable for plotting
dat.4 <- melt(sprinklr_deaths_cases_v2_afri_region_wk_cum[, c(1:2,5:7)], id.vars = c("afro", "week"))
dat.4$week <- factor(dat.4$week)
dat.4$week <- factor(dat.4$week, labels = paste("Week", seq(levels(dat.4$week))))
dat.4$variable <- factor(dat.4$variable, labels = c("Cummulative Cases", "Cummulative Deaths", "Case Fatality Rates"))
dat.4c <- dcast(dat.4, week + variable ~ afro)
## Create ggplot
ggplot(dat.4c, aes(week, colour = variable, group = 1)) +
geom_line(aes(y = East), color = "green") +
geom_line(aes(y = South), color = "orange") +
geom_line(aes(y = North), color = "darkred") + #linetype = "longdash",
geom_line(aes(y = Central), color = "purple") + #linetype = "dotdash",
geom_line(aes(y = West), color="deeppink3") + #linetype = "dotted",
facet_wrap(~ variable, ncol = 1, scales = "free_y") +
geom_vline(aes(xintercept=6), colour="#000000", linetype="dashed") +
geom_vline(aes(xintercept=10), colour="#000000", linetype="dashed") +
xlab("Weeks (2020-02-23 to 2020-05-31)") +
ylab("Case Fatality Rate, Deaths and Comfirmed Cases") +
ggtitle("Cummulative Covid-19 Cases, Deaths and Case Fatality Rates in Africa") +
theme_minimal() +
theme(legend.title = element_text(),
axis.text.x = element_text(angle = 45, hjust = 1),
axis.title.x = element_text(margin = margin(t = 25, r = 0, b = 0, l = 0, unit = "pt"))
)
## NB: the resulting plot was modified using an image editing program (Photoshop 2018 cc) to add the legend and annotate with additional text.
sprinklr_deaths_cases_v2_afri_$CFR <- round((sprinklr_deaths_cases_v2_afri_$New_deaths / sprinklr_deaths_cases_v2_afri_$New_cases), 2)
##Convert NaN's generated by dividing 0 by 0 to 0.
sprinklr_deaths_cases_v2_afri_[is.nan(sprinklr_deaths_cases_v2_afri_$CFR), "CFR"] <- 0
## Inf's occur when a death is recorded without a case...I will just drop these rows.
sprinklr_deaths_cases_v2_afri_ <- sprinklr_deaths_cases_v2_afri_[!sprinklr_deaths_cases_v2_afri_$CFR == Inf, ]
sprinklr_deaths_cases_v2_afri_region <- sprinklr_deaths_cases_v2_afri_ %>%
group_by(afro) %>%
dplyr::summarise(cases = sum(New_cases), deaths = sum(New_deaths),
s.cfr = sum(CFR))
colnames(sprinklr_deaths_cases_v2_afri_region) <- c("Region", "Total Cases", "Total Deaths", "CFR")
## Order countries by number of cases in decending order
sprinklr_deaths_cases_v2_afri_region <- sprinklr_deaths_cases_v2_afri_region[order(-sprinklr_deaths_cases_v2_afri_region$`Total Cases`), ]
sprinklr_deaths_cases_v2_afri_region %>%
kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"))
| Region | Total Cases | Total Deaths | CFR |
|---|---|---|---|
| North | 52095 | 2185 | 29.83 |
| South | 35362 | 682 | 8.62 |
| West | 34216 | 691 | 38.85 |
| Central | 14837 | 359 | 11.29 |
| East | 6445 | 116 | -Inf |
## Cummulative weekly cases, deaths and fatality rates until the end of April
sprinklr_deaths_cases_v2_afri_cty_wk <- sprinklr_deaths_cases_v2_afri_ %>%
group_by(Country, week) %>%
dplyr::summarise(cases = sum(New_cases),
deaths = sum(New_deaths),
cfr = sum(CFR))
sprinklr_deaths_cases_v2_afri_cty <- sprinklr_deaths_cases_v2_afri_cty_wk %>%
group_by(Country) %>%
dplyr::mutate(ccases = cumsum(cases),
cdeaths = cumsum(deaths),
ccfr = cumsum(cfr))
sprinklr_deaths_cases_v2_afri_cty_xlsx <- sprinklr_deaths_cases_v2_afri_ %>%
group_by(Country) %>%
dplyr::summarise(cases = sum(New_cases),
deaths = sum(New_deaths),
cfr = sum(CFR))
writexl::write_xlsx(sprinklr_deaths_cases_v2_afri_cty_xlsx, "sprinklr_deaths_cases_v2_afri_cty_cum.xlsx")
## Country totals for cases, death and fatality rates.
sprinklr_deaths_cases_v2_afri_cty <- sprinklr_deaths_cases_v2_afri_ %>%
group_by(Country) %>%
dplyr::summarise(cases = sum(New_cases),
mean.cases = mean(New_cases, na.rm = TRUE),
sd.cases = sd(New_cases, na.rm = TRUE),
n.cases = dplyr::n(),
deaths = sum(New_deaths),
mean.deaths = mean(New_deaths, na.rm = TRUE),
sd.deaths = sd(New_deaths, na.rm = TRUE),
n.deaths = dplyr::n(),
cfr = sum(CFR),
mean.cfr = mean(CFR, na.rm = TRUE),
sd.cfr = sd(CFR, na.rm = TRUE),
n.cfr = dplyr::n()) %>%
mutate( se.cases = sd.cases / sqrt(n.cases),
lower.ci.cases = mean.cases - qt(1 - (0.05 / 2), n.cases - 1) * se.cases,
upper.ci.cases = mean.cases + qt(1 - (0.05 / 2), n.cases - 1) * se.cases,
se.deaths = sd.deaths / sqrt(n.deaths),
lower.ci.deaths = mean.deaths - qt(1 - (0.05 / 2), n.deaths - 1) * se.deaths,
upper.ci.deaths = mean.deaths + qt(1 - (0.05 / 2), n.deaths - 1) * se.deaths,
se.cfr = sd.cfr / sqrt(n.cfr),
lower.ci.cfr = mean.cfr - qt(1 - (0.05 / 2), n.cfr - 1) * se.cfr,
upper.ci.cfr = mean.cfr + qt(1 - (0.05 / 2), n.cfr - 1) * se.cfr
)
sprinklr_deaths_cases_v2_afri_cty$ci.cases <- paste0(round(sprinklr_deaths_cases_v2_afri_cty$mean.cases, 3), " (", round(sprinklr_deaths_cases_v2_afri_cty$lower.ci.cases, 3),
", ", round(sprinklr_deaths_cases_v2_afri_cty$upper.ci.cases,3), ")")
sprinklr_deaths_cases_v2_afri_cty$ci.deaths <- paste0(round(sprinklr_deaths_cases_v2_afri_cty$mean.deaths, 3), " (", round(sprinklr_deaths_cases_v2_afri_cty$lower.ci.deaths, 3),
", ", round(sprinklr_deaths_cases_v2_afri_cty$upper.ci.deaths, 3), ")")
sprinklr_deaths_cases_v2_afri_cty$ci.cfr <- paste0(round(sprinklr_deaths_cases_v2_afri_cty$mean.cfr, 3), " (", round(sprinklr_deaths_cases_v2_afri_cty$lower.ci.cfr, 3),
", ", round(sprinklr_deaths_cases_v2_afri_cty$upper.ci.cfr, 3), ")")
sprinklr_deaths_cases_v2_afri_cty$Country <- as.character(sprinklr_deaths_cases_v2_afri_cty$Country)
sprinklr_deaths_cases_v2_afri_cty_ <- sprinklr_deaths_cases_v2_afri_cty[, c(1:2,23,6,24,10,25)]
## Add countries not on the list (likely because they have no cases)
sprinklr_deaths_cases_v2_afri_cty_ <- rbind(sprinklr_deaths_cases_v2_afri_cty_, c("Western Sahara", 0, "0 ( 0 , 0 )", 0, "0 ( 0 , 0 )", 0, "0 ( 0 , 0 )"))
## Add case fatality rate
#sprinklr_deaths_cases_v2_afri_cty$CFR <- (sprinklr_deaths_cases_v2_afri_cty$deaths /
# sprinklr_deaths_cases_v2_afri_cty$cases) *100
##head(sprinklr_deaths_cases_v2_afri_cty)
writexl::write_xlsx(sprinklr_deaths_cases_v2_afri_cty_, "sprinklr_deaths_cases_v2_afri_cty_cum.xlsx")
## Rename columns with more accessible names
colnames(sprinklr_deaths_cases_v2_afri_cty_) <- c("Country", "Total Cases", "CI Cases","Total Deaths", "CI Deaths", "CFR", "CI CFR")
## Order countries by number of cases in decending order
#sprinklr_deaths_cases_v2_afri_cty_ <- sprinklr_deaths_cases_v2_afri_cty_[order(-sprinklr_deaths_cases_v2_afri_cty_$`Total Cases`), ]
#sprinklr_deaths_cases_v2_afri_cty_ext <- sprinklr_deaths_cases_v2_afri_cty
#sprinklr_deaths_cases_v2_afri_cty_ext$case_ci <-
sprinklr_deaths_cases_v2_afri_cty_ %>%
kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
full_width = F)
| Country | Total Cases | CI Cases | Total Deaths | CI Deaths | CFR | CI CFR |
|---|---|---|---|---|---|---|
| Algeria | 9267 | 97.547 (82.43, 112.665) | 640 | 6.737 (5.176, 8.298) | 6.51 | 0.069 (0.051, 0.086) |
| Angola | 84 | 1.183 (0.693, 1.674) | 3 | 0.042 (-0.006, 0.09) | 0.81 | 0.011 (-0.004, 0.027) |
| Benin | 232 | 3.053 (-3.571, 9.677) | 3 | 0.039 (-0.005, 0.084) | 1.4 | 0.018 (-0.009, 0.046) |
| Botswana | 35 | 0.583 (0.199, 0.968) | 0 | 0 (0, 0) | 0 | 0 (0, 0) |
| Burkina Faso | 853 | 10.662 (7.514, 13.811) | 51 | 0.638 (0.296, 0.979) | 3.85 | 0.048 (0.028, 0.069) |
| Burundi | 42 | 0.689 (0.096, 1.281) | 1 | 0.016 (-0.016, 0.049) | 1 | 0.016 (-0.016, 0.049) |
| Cabo Verde | 421 | 5.847 (3.746, 7.949) | 3 | 0.042 (-0.006, 0.089) | 1.03 | 0.014 (-0.005, 0.034) |
| Cameroon | 5659 | 67.369 (40.377, 94.361) | 181 | 2.155 (0.897, 3.413) | 1.74 | 0.021 (0.009, 0.033) |
| Central African Republic | 874 | 11.063 (5.885, 16.242) | 1 | 0.013 (-0.013, 0.038) | 0.01 | 0 (0, 0) |
| Chad | 759 | 10.397 (6.456, 14.338) | 63 | 0.863 (0.412, 1.314) | 2.36 | 0.032 (0.018, 0.047) |
| Comoros | 43 | 1.433 (-0.236, 3.102) | 1 | 0.033 (-0.035, 0.102) | 1 | 0.033 (-0.035, 0.102) |
| Congo | 587 | 7.724 (4.754, 10.694) | 16 | 0.211 (0.064, 0.357) | 1.59 | 0.021 (-0.001, 0.043) |
| Côte d’Ivoire | 2799 | 34.556 (27.886, 41.225) | 33 | 0.407 (0.241, 0.574) | 0.78 | 0.01 (0.005, 0.014) |
| Democratic Republic of the Congo | 2965 | 36.159 (24.586, 47.731) | 68 | 0.829 (0.497, 1.162) | 3.41 | 0.042 (0.026, 0.057) |
| Djibouti | 3194 | 42.587 (26.74, 58.433) | 22 | 0.293 (0.101, 0.485) | 0.43 | 0.006 (0, 0.012) |
| Egypt | 23449 | 217.12 (155.605, 278.636) | 913 | 8.454 (6.648, 10.259) | 5.27 | 0.049 (0.029, 0.068) |
| Equatorial Guinea | 1043 | 13.372 (6.52, 20.224) | 11 | 0.141 (0.028, 0.254) | 0.52 | 0.007 (-0.001, 0.014) |
| Eritrea | 39 | 0.542 (0.142, 0.942) | 0 | 0 (0, 0) | 0 | 0 (0, 0) |
| Eswatini | 283 | 3.628 (2.465, 4.791) | 1 | 0.013 (-0.013, 0.038) | 0.25 | 0.003 (-0.003, 0.01) |
| Ethiopia | 1063 | 13.456 (7.757, 19.155) | 8 | 0.101 (0.033, 0.169) | 0.87 | 0.011 (0.001, 0.021) |
| Gabon | 2613 | 33.935 (21.723, 46.147) | 13 | 0.169 (0.069, 0.269) | 0.35 | 0.005 (0, 0.009) |
| Gambia | 25 | 0.338 (0.127, 0.549) | 0 | 0 (0, 0) | 0 | 0 (0, 0) |
| Ghana | 7768 | 98.329 (62.469, 134.189) | 35 | 0.443 (0.226, 0.66) | 2.34 | 0.03 (-0.001, 0.06) |
| Guinea | 3706 | 46.911 (37.192, 56.63) | 23 | 0.291 (0.152, 0.431) | 0.36 | 0.005 (0.002, 0.007) |
| Guinea-Bissau | 1256 | 18.746 (9.056, 28.437) | 8 | 0.119 (0.02, 0.219) | 1.18 | 0.018 (-0.012, 0.047) |
| Kenya | 1888 | 24.205 (17.055, 31.355) | 62 | 0.795 (0.522, 1.068) | 3.05 | 0.039 (0.024, 0.054) |
| Lesotho | 2 | 0.111 (-0.05, 0.272) | 0 | 0 (0, 0) | 0 | 0 (0, 0) |
| Liberia | 280 | 3.733 (2.769, 4.697) | 26 | 0.347 (0.171, 0.522) | 6.38 | 0.085 (0.038, 0.132) |
| Libya | 130 | 1.94 (0.978, 2.903) | 4 | 0.06 (0.001, 0.118) | 1.72 | 0.026 (-0.008, 0.059) |
| Madagascar | 758 | 10.528 (6.878, 14.177) | 6 | 0.083 (-0.011, 0.178) | 0.39 | 0.005 (-0.002, 0.013) |
| Malawi | 279 | 4.729 (0.557, 8.9) | 4 | 0.068 (0.002, 0.134) | 1.78 | 0.03 (-0.007, 0.067) |
| Mali | 1250 | 18.939 (15.333, 22.545) | 73 | 1.106 (0.758, 1.454) | 4.16 | 0.063 (0.043, 0.083) |
| Mauritania | 483 | 6.114 (2.632, 9.596) | 21 | 0.266 (0.055, 0.477) | 1.8 | 0.023 (-0.003, 0.049) |
| Mauritius | 335 | 4.527 (2.459, 6.595) | 9 | 0.122 (0.001, 0.243) | 1.16 | 0.016 (-0.001, 0.033) |
| Mayotte | 1743 | 22.063 (16.051, 28.075) | 21 | 0.266 (0.124, 0.408) | 0.61 | 0.008 (0.003, 0.012) |
| Morocco | 7780 | 85.495 (71.018, 99.971) | 204 | 2.242 (1.625, 2.858) | 3.73 | 0.041 (0.017, 0.065) |
| Mozambique | 244 | 3.486 (2.243, 4.729) | 2 | 0.029 (-0.011, 0.069) | 0.24 | 0.003 (-0.002, 0.009) |
| Namibia | 23 | 0.291 (0.126, 0.456) | 0 | 0 (0, 0) | 0 | 0 (0, 0) |
| Niger | 956 | 12.919 (9.212, 16.626) | 64 | 0.865 (0.634, 1.096) | 8.48 | 0.115 (0.07, 0.159) |
| Nigeria | 9855 | 104.84 (76.036, 133.645) | 273 | 2.904 (2.009, 3.799) | 1.92 | 0.02 (0.012, 0.029) |
| Réunion | 471 | 5.888 (3.528, 8.247) | 1 | 0.012 (-0.012, 0.037) | 1 | 0.012 (-0.012, 0.037) |
| Rwanda | 359 | 4.603 (3.58, 5.625) | 1 | 0.013 (-0.013, 0.038) | 0.25 | 0.003 (-0.003, 0.01) |
| Sao Tome and Principe | 295 | 5.566 (-1.933, 13.065) | 5 | 0.094 (-0.017, 0.206) | 0.31 | 0.006 (-0.009, 0.021) |
| Senegal | 3535 | 39.278 (30.424, 48.132) | 41 | 0.456 (0.267, 0.644) | 0.96 | 0.011 (0.005, 0.017) |
| Seychelles | 11 | 0.141 (0.034, 0.248) | 0 | 0 (0, 0) | 0 | 0 (0, 0) |
| Sierra Leone | 852 | 14.2 (9.913, 18.487) | 45 | 0.75 (0.474, 1.026) | 2.41 | 0.04 (0.025, 0.056) |
| Somalia | 1916 | 24.883 (18.161, 31.605) | 73 | 0.948 (0.603, 1.293) | 1.97 | 0.026 (0.014, 0.037) |
| South Africa | 30967 | 351.898 (258.416, 445.379) | 643 | 7.307 (5.013, 9.6) | 1.65 | 0.019 (0.014, 0.024) |
| South Sudan | 994 | 17.75 (7.089, 28.411) | 10 | 0.179 (0.008, 0.349) | -Inf | -Inf (NaN, NaN) |
| Sudan | 4800 | 61.538 (40.474, 82.603) | 261 | 3.346 (1.908, 4.784) | 3.79 | 0.049 (0.02, 0.077) |
| Togo | 428 | 4.977 (3.406, 6.548) | 13 | 0.151 (0.061, 0.241) | 3.6 | 0.042 (0.01, 0.074) |
| Tunisia | 1076 | 11.956 (8.655, 15.256) | 47 | 0.522 (0.323, 0.721) | 4.61 | 0.051 (0.019, 0.084) |
| Uganda | 446 | 6.194 (3.366, 9.023) | 0 | 0 (0, 0) | 0 | 0 (0, 0) |
| United Republic of Tanzania | 509 | 6.878 (1.251, 12.506) | 19 | 0.257 (0.047, 0.467) | 1.6 | 0.022 (-0.006, 0.05) |
| Zambia | 1057 | 14.284 (5.715, 22.853) | 6 | 0.081 (-0.011, 0.173) | 1.78 | 0.024 (-0.005, 0.053) |
| Zimbabwe | 174 | 2.486 (0.186, 4.785) | 1 | 0.014 (-0.014, 0.043) | 0.5 | 0.007 (-0.007, 0.021) |
| Western Sahara | 0 | 0 ( 0 , 0 ) | 0 | 0 ( 0 , 0 ) | 0 | 0 ( 0 , 0 ) |
sessionInfo()
## R version 3.5.0 (2018-04-23)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS 10.15.5
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] Rmisc_1.5 plyr_1.8.4 lattice_0.20-38 kableExtra_1.1.0
## [5] data.table_1.12.2 DescTools_0.99.28 scales_1.0.0 reshape2_1.4.3
## [9] readxl_1.3.1 forcats_0.4.0 stringr_1.4.0 dplyr_0.8.3
## [13] purrr_0.3.3 readr_1.3.1 tidyr_1.0.0 tibble_2.1.3
## [17] ggplot2_3.2.1 tidyverse_1.2.1
##
## loaded via a namespace (and not attached):
## [1] tidyselect_0.2.5 xfun_0.11 haven_2.2.0 expm_0.999-4
## [5] colorspace_1.4-1 vctrs_0.2.0 generics_0.0.2 viridisLite_0.3.0
## [9] htmltools_0.4.0 yaml_2.2.0 rlang_0.4.1 pillar_1.4.2
## [13] foreign_0.8-71 glue_1.3.1 withr_2.1.2 modelr_0.1.4
## [17] lifecycle_0.1.0 munsell_0.5.0 gtable_0.3.0 cellranger_1.1.0
## [21] rvest_0.3.5 mvtnorm_1.0-10 evaluate_0.14 labeling_0.3
## [25] knitr_1.26 manipulate_1.0.1 highr_0.8 broom_0.5.2
## [29] Rcpp_1.0.3 backports_1.1.5 writexl_1.1 webshot_0.5.1
## [33] jsonlite_1.6 hms_0.5.2 digest_0.6.22 stringi_1.4.3
## [37] grid_3.5.0 cli_1.1.0 tools_3.5.0 magrittr_1.5
## [41] lazyeval_0.2.2 crayon_1.3.4 pkgconfig_2.0.3 zeallot_0.1.0
## [45] Matrix_1.2-17 MASS_7.3-51.4 xml2_1.2.2 lubridate_1.7.4
## [49] assertthat_0.2.1 rmarkdown_1.17 httr_1.4.1 rstudioapi_0.10
## [53] boot_1.3-22 R6_2.4.1 nlme_3.1-140 compiler_3.5.0