Publications by Tony Hirst
HexJSON HTMLWidget for R, Part 3
In HexJSON HTMLWidget for R, Part 1 I described a basic HTMLwidget for rendering hexJSON maps using d3-hexJSON, and HexJSON HTMLWidget for R, Part 2 described updates for supporting colour. Having booked off today for emergency family cover that turned out not to be required, I had another stab at the package, so it now supports the following add...
3072 sym R (526 sym/3 pcs) 16 img
ergastR – R Wrapper for ergast F1 Results Data API
By the by, I’ve posted a first attempt at an R package – ergastR to wrap the ergast developer API, which is where I get chunks of data from for my f1datajunkie tinkerings. You can find it on Github: psychemedia/ergastR. The function names are the ones used in the Wrangling F1 Data With R book. The R package needs a bit of tidying up and also...
1449 sym 4 img
Oh How I Have Failed Thee, Jupyter Notebooks…
Although I first came across Jupyter – then IPython – notebooks in October 2012 (I think…), it took me another six months or so before I started playing them and pitched them for the then nascent TM351 course. We decided to explore the notebooks when the course/module team first met around about October 2013. Four years ago. Notebooks were ...
5861 sym 4 img
Fragment – DIT4C – Docker Base Containers for Edu Remote Computing Labs
What’s an effective way of helping a student run a desktop application when their own computer won’t run the application, for whatever reason, locally? Virtualised software, running remotely, provides one solution. So here’s an example of a project that looks at doing just that: DIT4C (“Data Intensive Tools for the Cloud”), ‘a pla...
6188 sym 18 img
Programming, meh… Let’s Teach How to Write Computational Essays Instead
From Stephen Wolfram, a nice phrase to describe the sorts of thing you can create using tools like Jupyter notebooks, Rmd and Mathematica notebooks: computational essays that complements the “computational narrative” phrase that is also used to describe such documents. Wolfram’s recent blog post What Is a Computational Essay?, part essay, ...
16699 sym 10 img
Quick Round-Up – Visualising Flows Using Network and Sankey Diagrams in Python and R
Got some data, relating to how students move from one module to another. Rows are student ID, module code, presentation date. The flow is not well-behaved. Students may take multiple modules in one presentation, and modules may be taken in any order (which means there are loops…). My first take on the data was just to treat it as a graph and ch...
5162 sym 30 img
Note On My Emerging Workflow for Working With Binderhub
Yesterday saw the public reboot of Binder / MyBinder (which I first wrote about a couple of years ago here), as reported in The Jupyter project blog post Binder 2.0, a Tech Guide and this practical guide: Introducing Binder 2.0 — share your interactive research environment. For anyone not familiar with Binder / MyBinder, it’s a service that w...
5409 sym 4 img
Tinkering with Competitive Supertimes
I’m back on the R thang with F1 data from ergast.com, and started having a look at how drivers and teams compare at a circuit. One metric I came across for comparing teams over a season is the supertime, typically calculated for each manufacturer as the average of their fastest single lap recorded by the team at each race weekend expressed as ...
2306 sym R (2858 sym/6 pcs) 6 img
Sketch – Data Trivia
A bit more tinkering with F1 data from the ergast db, this time trying to generating trivia / facts around races. The facts are identified using SQL queries: #starts for a team q=paste0('SELECT d.code, COUNT(code) AS startsforteam, c.name AS name FROM drivers d JOIN races r JOIN results rs JOIN constructors c WHERE c.constructorId=rs.constructorI...
1136 sym R (1424 sym/4 pcs)
Generating Text From An R DataFrame using PyTracery, Pandas and Reticulate
In a couple of recent posts (Textualisation With Tracery and Database Reporting 2.0 and More Tinkering With PyTracery) I’ve started exploring various ways of using the pytracery port of the tracery story generation tool to generate variety of texts from Python pandas data frames. For my F1DataJunkie tinkerings I’ve been using R + SQL as the b...
2758 sym R (1714 sym/5 pcs) 2 img