0.1 Introduction

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.

0.1.1 Data

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.

0.2 Process datasets

## 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 ...

0.2.1 African countries classified as EMRO (Eastern Mediterranean) region

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"

0.2.2 Rest of the African countries

## 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")

0.3 Plot showing the cummulative cases, death and case fatality rates

## 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.

0.4 Generate table of total cases and deaths per Region

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

0.5 Generate table of total cases, deaths and case fatality rates (CFR) per country

## 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 )

0.6 Analysis Environment

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