Recent Posts

More Posts

Why? I recently built out a new workstation and have done some benchmarking using xgboost via h2o. In this post I am using the benchmarkme package to get another perspective on performance. Note: The benchmarkme package appears to have some issues when it comes to plotting benchmarks. I ended up having to drop them entirely from this post. **Update (2019-02-11): Just checked this issue using rocker/tidyverse:latest and found all benchmarkme functionality is working well.


Why? I recently built out a new workstation to give me some local compute for data science workloads. Now that I have local access to both a CPU with a large number of cores (Threadripper 1950X with 16 cores) and a moderately powerful GPU (Nvidia RTX 2070), I’m interested in knowing when it is best to use CPU vs. GPU for some of the tasks that I commonly do.


getTBinR 0.5.7 is now on CRAN and should be available on a mirror near you shortly! This update mainly focussed on building out new country level Tuberculosis (TB) report functionality but along the way this led to a new summary plotting function that quickly and easily shows TB trends across regions and globally. I also had some fun developing a hexsticker (Tweet at me with something you made using the package to get a physical version - whilst my postage money lasts…), reducing the dependencies with itdepends and pkgnet and dealing with some breaking changes from an uncoming dplyr update (my own fault for missing a function import).


Why? I regularly use cloud resources (AWS and GCP) both in my day job and for personal projects but recently I have been finding that having to spin up a cloud instance for quick analysis can be tedious, even when making use of tools for reproducibility like docker. This is particularly the case for self-learning when spending money on cloud resources feels wasteful, especially when I have half an eye on something else (i.


getTBinR 0.5.5 is now on CRAN and should be available on a mirror near you shortly! This update is mainly about highlighting the availability of TB data for 2017, although some small behind the scenes changes were required to get the code set up going forward for yearly updates. A few more plotting options have been added, along with the corresponding tests (definitely the most exciting news). The full changelog is below along with a short example highlighting some of the changes in the 2017 data.



Explore Global Tuberculosis

A shiny app showcasing the functionality of getTBinR. It allows the exploration of the global burden of Tuberculosis. Any metric in the WHO data can be explored, with country selection using the built in map, and animation possible by year. Source code available here.

BIDD Modelling Course

The course practicals for the modelling infectious disease short course `run by BIDD at the University of Bristol. Source code available here.

Explore Infectious Disease Models

This shiny app has been developed to allow the exploration of the parameter space of compartmental infectious disease models. It is designed to be used as a teaching aid when introducing people to the concepts behind infectious disease models without requiring them to interact with the underlying code. A number of infectious disease models are included, such as a Susceptible, Exposed, Infected, Recovered model. Source code available here.

Show Me Perseus

A shiny app to remove potential friction for new R users when using the R perseus package. Source code available here.


Quickly and easily import analysis ready TB burden data, from the World Health Orgnaisation (WHO), into R. The aim of the package is to speed up access to high quality TB burden data, using a simple R interface. Generic plotting functions are provided to allow for rapid graphical exploration of the WHO TB data. This package is inspired by a blog post, which looked at WHO TB incidence rates. See here for the WHO data permissions.

Introduction to TB Modelling

A shiny app reproducing the models used in the Introduction to Tuberculosis modelling course practicals, run by TB MAC at the 2017 Union conference. See the TB MAC website for course materials and further resources. The models used in this course, and reproduced in this shiny app, were based on one published by Lin et al.. The source code is available on here

Tuberculosis in England and Wales

A shiny dashboard providing interactive plots of Tuberuclosis Incidence in England and Wales using publicly available data. The source code is available on here

Property Partner Portfolio Visualisation

A series of Tableau dashboards visualising the Property Partner portfolio

FC Dashboard

FC dashboard is a simple tool for exploratory data analysis on the funding circle loanbook. The source code can be found here. This is an independant project and is in no way associated with funding circle. Since the original development of this dashboard Funding Circle has stopped publishing it’s full loanbook, this means that some functionality will no longer work as originally intended and that data will no longer be updated.


R package that contains utility functions for infectious disease modelling. It’s main functionality is to facilitate the use of other available modelling packages such as pomp. Although, it does offer some basic modelling functionality itself. The source code is available on here

The Pebble Game

The Pebble Game is a shiny application that simulates the pebble game. This is a simple game that has been developed by BIDD at the University of Bristol, to help a general audience understand the role of vaccination in preventing the onward transmission of infectious disease. The source code can be found here.

Funding Circle Data Anaylsis

Visualisation and analysis of the Funding Circle loanbook.

PhD: Research Aims

Summary of the research aims for my PhD thesis


R package to help in formatting R markdown documents into a publishable format. The source code is available on here


R package containing the scripts required to clean data from the Enhanced Tuberculosis Surveillance system, and the Labour Force Survey, and to then calculate Tuberculosis incidence. The source code is available here


I am helping to develop practicals for a short course at the School of Social and Community Medicine at the University of Bristol. As part of this I am developing a shiny app to allow exploration of a range of simple infectious disease models.