An open API service indexing awesome lists of open source software.

https://github.com/openwashdata/choleramalawi

Data package tracking the course of the cholera epidemic in Malawi (2023-24)
https://github.com/openwashdata/choleramalawi

Last synced: 4 months ago
JSON representation

Data package tracking the course of the cholera epidemic in Malawi (2023-24)

Awesome Lists containing this project

README

          

---
output: github_document
always_allow_html: true
editor_options:
markdown:
wrap: 72
chunk_output_type: console
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%",
message = FALSE,
warning = FALSE,
fig.retina = 2,
fig.align = 'center'
)
```

# choleramalawi

[![License: CC BY
4.0](https://img.shields.io/badge/License-CC_BY_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/)

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13920530.svg)](https://zenodo.org/doi/10.5281/zenodo.13920530)

The goal of choleramalawi is to analyse the progress of the Cholera epidemic in Malawi (2023-24)

## Installation

You can install the development version of choleramalawi from
[GitHub](https://github.com/) with:

``` {r eval=FALSE}
# install.packages("devtools")
devtools::install_github("openwashdata/choleramalawi")
```

```{r}
## Run the following code in console if you don't have the packages
## install.packages(c("dplyr", "knitr", "readr", "stringr", "gt", "kableExtra"))
library(dplyr)
library(knitr)
library(readr)
library(stringr)
library(gt)
library(kableExtra)
library(rnaturalearth)
library(rnaturalearthdata)
library(sf)
library(RColorBrewer)
#devtools::load_all()
```

Alternatively, you can download the individual datasets as a CSV or XLSX
file from the table below.

```{r, echo=FALSE, message=FALSE, warning=FALSE}

extdata_path <- "https://github.com/openwashdata/choleramalawi/raw/main/inst/extdata/"

read_csv("data-raw/dictionary.csv") |>
distinct(file_name) |>
dplyr::mutate(file_name = str_remove(file_name, ".rda")) |>
dplyr::rename(dataset = file_name) |>
mutate(
CSV = paste0("[Download CSV](", extdata_path, dataset, ".csv)"),
XLSX = paste0("[Download XLSX](", extdata_path, dataset, ".xlsx)")
) |>
knitr::kable()

```

## Data

The package provides access to one dataset `choleramalawi`. It contains data on the progress of the cholera epidemic in each district of Malawi during 2022-23. The data focuses on cases and deaths for every week as well as cumulative cases and deaths.

```{r}
library(choleramalawi)
```

### choleramalawi

The dataset `choleramalawi` contains data about the progress of the cholera epidemic in Malawi (2022-23).
It has `r nrow(choleramalawi)` observations and `r ncol(choleramalawi)` variables

```{r}
choleramalawi |>
head(3) |>
gt::gt() |>
gt::as_raw_html()
```

For an overview of the variable names, see the following table.

```{r echo=FALSE, message=FALSE, warning=FALSE}
readr::read_csv("data-raw/dictionary.csv") |>
dplyr::filter(file_name == "choleramalawi.rda") |>
dplyr::select(variable_name:description) |>
knitr::kable() |>
kableExtra::kable_styling("striped") |>
kableExtra::scroll_box(height = "200px")
```

## Example

```{r}
library(choleramalawi)

# Top districts by total cases

choleramalawi |>
group_by(district) |>
summarise(total_cases = sum(cases, na.rm = TRUE)) |>
arrange(desc(total_cases)) |>
head(10) |>
gt() |>
as_raw_html()
```

```{r}
# Plotting the number of cases over time in Lilongwe district

library(ggplot2)

choleramalawi |>
filter(district == "Lilongwe") |>
ggplot(aes(x = week, y = cases)) +
geom_line() +
labs(title = "Number of cases over time in Lilongwe district",
x = "Week",
y = "Cases")
```

```{r}
# Plot a map of districts of Malawi colored by the number of cases
total_cases_district <- choleramalawi |>
group_by(district) |>
summarise(total_cases = sum(cases, na.rm = TRUE)) |>
mutate(total_cases = ifelse(is.na(total_cases), 0, total_cases))
malawi_map <- ne_states(country = "Malawi", returnclass = "sf")

malawi_map <- malawi_map %>%
left_join(total_cases_district, by = c("name" = "district"))

ggplot(malawi_map) +
geom_sf(aes(fill = total_cases)) +
scale_fill_viridis_c(guide="none") +
theme_void() +
labs(title = "Cholera Cases by District in Malawi")

```

## License

Data are available as
[CC-BY](https://github.com/openwashdata/choleramalawi/blob/main/LICENSE.md).

## Citation

Please cite this package using:

```{r}
citation("choleramalawi")
```