Publications by R | datawookie

Mobility & Unrest in South Africa

23.07.2021

Did the recent unrest in South Africa have a detectable effect on mobility patterns? Google Mobility Data Google has used anonymised data personal location data to gather information on mobility during the COVID-19 pandemic. These data are freely available in CSV format and regularly updated. {mobility} Package I created a small R package, {mo...

2861 sym R (2195 sym/6 pcs) 8 img

TomTom Traffic

24.07.2021

In the previous post I introduced the {tomtom} package and showed how it can be used for geographic routing. Now we’re going to look at the traffic statistics returned by the TomTom API. As before we’ll need to load the {tomtom} package and specify an API. Then we’re ready to roll. Bounding Box We’ll be retrieving traffic incidents withi...

1527 sym R (3025 sym/6 pcs) 2 img

TomTom Routing

25.07.2021

While working with the Google Mobility Data I stumbled upon the TomTom Traffic Index. I then learned that TomTom has a public API which exposes a bunch of useful and interesting data. Seemed like another opportunity to create a smaller R package. Enter {tomtom}. {tomtom} Package The {tomtom} package can be found here. Install the package. remote...

2679 sym R (2014 sym/9 pcs) 12 img

Old ‘Hood, New ‘Hood

10.08.2021

I recently moved from suburban South Africa to rural England. I’m figuring out my new environment. Making some maps seemed to be a good way to get familiar with the surroundings. In the process I wanted to figure out two things: how to get maps with a consistent aspect ratio at different latitudes; and how to overlay a partially transparent ma...

5816 sym R (2006 sym/5 pcs) 18 img

{emayili}: Rudimentary Email Address Validation

20.08.2021

A recent issue on the {emayili} GitHub repository prompted me to think a bit more about email address validation. When I started looking into this I was somewhat surprised to learn that it’s such a complicated problem. Who would have thought that something as apparently simple as an email address could be linked with such complexity? There are ...

4796 sym R (2392 sym/13 pcs) 4 img

{emayili} Interpolating Message Content

02.09.2021

A small new feature added to {emayili}: the ability to interpolate content into the email message body. Load Package Load the {emayili} package and create a message skeleton. library(emayili) options( # Always print message body. envelope_details = TRUE, # Print message from pipeline. envelope_invisible = FALSE ) # Create a message ske...

1094 sym R (1927 sym/4 pcs) 2 img

Pre-Commit Hook for Processing README.Rmd

04.09.2021

When writing an R package I usually write a README.Rmd file that I render to README.md. I use {pkgdown} to then create documentation. I run the last step via CI, so I never need to think about it. The problem is that I regularly forget to process the README.Rmd file, which means that despite keeping that it to date, everything else lags behind. W...

1173 sym R (123 sym/1 pcs) 2 img

{clockify} Time Tracking from R

08.09.2021

At Fathom Data we use Clockify to keep detailed records of the time that we spend working on our clients’ projects. Up until fairly recently we manually generated timesheets at the end of each month that were sent through to the clients along with their invoices. Our experience has been that providing detailed timesheets helps foster trust and ...

4147 sym R (6450 sym/20 pcs) 4 img

{emayili} Rendering Plain Markdown

09.09.2021

We’ve been able to attach text and HTML content to messages with {emayili}. But something that I’ve really been wanting to do is render markdown directly into an email. In version 0.4.19 I’ve added the ability to directly render plain markdown into a message. library(emayili) The render() method will handle plain markdown either as a charac...

1383 sym R (1228 sym/6 pcs) 2 img