RSS International Conference 2025
2 September 2025
Background in statistics, operational research, and data science consultancy.
Data visualisation specialist at the Office for National Statistics.
Co-author of Royal Statistical Society’s Best Practices for Data Visualisation guidance which has examples in R, Python, and Julia.
Julia is a high-level, general-purpose, open source programming language.
I already know a different programming language (like R or Python)…
…and I can write code that implements my models…
…so why should I spend time learning (yet another) programming language?
Unlike R and Python, Julia is a compiled language.
Interpreted: Translate code into machine language during execution. Great for interactive debugging and user-friendliness but bad for speed.
Compiled: Translate code into machine language before running it. Fast.
Just in time compilation: Benefits of speed, but without losing the user-friendliness. This is where Julia fits in.
Install Julia from julialang.org/install
Choose an IDE (VS Code, Positron, …)
Check it works! e.g. run Julia
in the terminal to start a Julia REPL
Julia
Speed where it matters
Maximise user-friendliness
JuliaCall
JuliaCall
is an R package that allows you to run Julia code from R. Load the package and set up Julia:
Run code in Julia and use values in R:
Run an entire script:
JuliaCall
Compute in R and send to Julia:
Check it works:
RCall
RCall
allows you to call R from Julia. It’s very similar to JuliaCall
, but the languages are the other way around.
PythonCall
PyCall
PyCall is another library that works in a similar way.
Quarto is an open-source scientific and technical publishing system.
Create reproducible documents, presentations, websites, and books by integrating markdown with code.
Native support for multiple languages including both R, Python, and Julia.
Julia documentation: docs.julialang.org
Tidier.jl
documentation: tidierorg.github.io/Tidier.jl
Tidier.jl
blog post about why R users should consider using Tidier.jl
: tidierorg.github.io/Tidier.jl/Why-should-I-consider-using-Tidier.jl?
Yes!