Graham Stark - Hands-on with Julia for Microsimulation

  • Presenting author: Graham Stark (Open University (UK) / Northumbria University (UK))

  • Authors: Graham Stark

  • Session: A00C - Pre-Conference Workshop “Julia” - Monday 11:00-12:30 - Erika-Weinzierl Hall

Julia (https://julialang.org/) is an excellent language for microsimulation projects. Julia is competitive with R or Stata for data exploration and statistics. But it’s also an excellent system for complex programming tasks, giving you code that’s easy to write, read, test and maintain, but which often runs as fast as Fortran or C. Just as important, Julia is a lot of fun.

In this hands-on session we plan to cover:

  • Installation of a basic Julia system;

  • basic operations using Julia’s REPL (https://docs.julialang.org/en/v1/stdlib/REPL/) front-end

  • Functions, datatypes and packages;

  • Data exploration using DataFrames and Tidier – Julia’s clone of the R Tidyverse https://github.com/TidierOrg/Tidier.jl

  • Interactivity using Pluto Notebooks https://plutojl.org/

  • Packages for microsimulation: budget constraints, survey weighting, inequality measures;

  • Agent-based modelling using Agents.jl; and

  • A quick run through the internals of a large microsimulation application: the TriplePC simulator https://pppc.virtual-worlds.scot