
This repository contains R code for analyzing the relationship between climate variables and malaria incidence in Dar es Salaam, Tanzania. The analysis includes STL (Seasonal and Trend decomposition using Loess), Generalized Additive Model (GAM) analysis, and district-level mapping outputs.
Climate and Malaria Plots and Analysis/
├── Data.csv # Main dataset with climate and malaria data
├── STL.R # STL decomposition analysis
├── GAM Analysis Code.R # GAM analysis with smooth term plots
├── Dar es Salaam District Map.R # District map from local ward shapefile
├── Preliminary_Analysis.R # Comprehensive preliminary analysis
├── df.R # STL seasonal comparisons and raw vs seasonal fits
├── SHAPEFILES/ # Local ward shapefile inputs (not tracked)
├── Maps/ # Output directory for map figures
├── Smooth Term Plots/ # Output directory for GAM plots
├── STL Plots/ # Output directory for STL plots
├── Preliminary_Plots/ # Output directory for preliminary analysis
├── renv.lock # Locked package versions
└── README.md # This file
The Data.csv file contains monthly time series data with the following variables:
yearmon: Time period (YYYY-MM format)Malaria_incidence_per_10000: Malaria cases per 10,000 populationdaytime_temperature: Daytime temperature in °Cnighttime_temperature: Nighttime temperature in °Cmonthly_rainfall: Monthly rainfall in mmRelative_humidity: Relative humidity in %STL.R)Purpose: Decompose the malaria incidence time series into trend, seasonal, and residual components.
What it does:
Output: STL Plots/STL_Decomposition.png
Key features:
GAM Analysis Code.R)Purpose: Model the relationship between climate variables and malaria incidence using Generalized Additive Models.
What it does:
Output: Multiple PNG files in Smooth Term Plots/ directory
Key features:
Preliminary_Analysis.R)Purpose: Comprehensive exploratory analysis of malaria incidence patterns and climate relationships.
What it does:
Output: 10 PNG files and 1 CSV file in Preliminary_Plots/ directory
Key visualizations:
df.R)Purpose: Detailed STL decomposition analysis comparing malaria incidence with individual climate variables.
What it does:
Output: 8 JPEG files in Preliminary_Plots/ directory
Key visualizations:
Dar es Salaam District Map.R)Purpose: Create a publication-ready district map of Dar es Salaam showing the five districts used in the study context.
What it does:
SHAPEFILES/TANZANIA_2022PHC_WARDS_SHAPEFILES.shpOutput: Maps/Dar_es_Salaam_5_Districts.png
Clone or download this repository
git clone github.com
cd "Climate and Malaria Plots and Analysis"
Install dependencies (if using renv)
renv::restore()
Run the analyses
For STL decomposition:
source("STL.R")
For GAM analysis:
source("GAM Analysis Code.R")
For preliminary analysis:
source("Preliminary_Analysis.R")
For STL seasonal comparisons:
source("df.R")
For Dar es Salaam district map:
source("Dar es Salaam District Map.R")
If you prefer not to use renv, the code will automatically install required packages:
dplyr, zoo (for STL analysis)mgcv, dplyr, tidyr, gratia, ggplot2, stringr, purrr (for GAM analysis)tidyverse, zoo, lubridate (for STL seasonal comparisons)sf, ggplot2, ggspatial (for district map plotting)STL Plots/STL_Decomposition.png: 4-panel STL decomposition plot showing:Smooth Term Plots/ directory, each showing:Smooth Term Plots/ACF_PACF_GAM_Residuals.png: Combined residual ACF/PACF diagnostic plot (300 dpi)01_malaria_timeseries.png: Monthly malaria incidence over time02_seasonal_patterns.png: Box plots showing seasonal variation03_annual_trends.png: Annual averages with standard deviations04_climate_timeseries.png: Time series of all climate variables05_correlation_heatmap.png: Correlation matrix between variables06_scatter_plots.png: Scatter plots with trend lines07_seasonal_decomposition.png: Average seasonal pattern08_summary_statistics.csv: Summary statistics table09_peak_months.png: Peak months identification10_seasonal_analysis.png: Seasonal analysis by climate zones11_stl_seasonal_malaria_vs_rainfall.jpg: Standardized seasonal components comparison12_raw_vs_seasonal_fits.jpg: Raw data with STL seasonal fits (malaria and rainfall)13_stl_seasonal_malaria_vs_daytime_temperature_°c_.jpg: Malaria vs daytime temperature seasonality14_raw_vs_seasonal_fits_daytime_temperature_°c_.jpg: Raw vs seasonal fits for temperature15_stl_seasonal_malaria_vs_nighttime_temperature_°c_.jpg: Malaria vs nighttime temperature seasonality16_raw_vs_seasonal_fits_nighttime_temperature_°c_.jpg: Raw vs seasonal fits for nighttime temperature17_stl_seasonal_malaria_vs_relative_humidity_.jpg: Malaria vs humidity seasonality18_raw_vs_seasonal_fits_relative_humidity_.jpg: Raw vs seasonal fits for humidityMaps/Dar_es_Salaam_5_Districts.png: District map (Ilala, Kinondoni, Temeke, Ubungo, Kigamboni), 300 dpi, white background, north arrow symbols.window = "periodic": Fixed annual seasonalityrobust = TRUE: Outlier-resistant fittingbs = "cs")k = 10)select = TRUE)gam.check(): Residual diagnosticsconcurvity(): Check for concurvity issuesacf() and pacf()Data.csv file is in the project rootIf you use this code in your research, please cite the relevant R packages:
mgcv for GAM analysiszoo for time series operationsggplot2 for visualizationFor questions about this analysis, please contact the original author or repository maintainer.