Publications by R on Nicola Rennie
Observable for R users
Observable is a JavaScript-based reactive programming environment, commonly used for interactive data exploration, visualisation, and dashboards. You can create and publish Observable notebooks at observablehq.com (which is also a great place to look for inspiration and support) or you can use Observable Javascript in standalone documents and websi...
11025 sym R (3686 sym/28 pcs) 8 img 14 tbl
Creating data-driven art
What is data-driven art? At first I thought the answer to the question what is data art? would be relatively straightforward. I initially started with the definition that data art lies somewhere between data visualisation and generative art. Where data visualisation aims to accurately represent data to communicate insights, generative art uses alg...
7904 sym R (4081 sym/4 pcs) 10 img 2 tbl
Designing monochrome data visualisations
First of all, let’s start with a definition of what we mean by monochrome (or monochromatic). Creating a monochrome chart essentially means only using different shades of one colour. In most cases, this means different shades of grey (or black and white) which, can also be termed greyscale. The examples in this blog post will all be relating to c...
12886 sym R (1906 sym/18 pcs) 24 img 9 tbl
Working with colours in R
When you create a data visualisation using R (or any other software), a set of default colours is used. These aren’t always the most effective, or aesthetically pleasing, set of colours. That means that, at some point, you’ll likely want to use a different set of colours that you have chosen. This blog post will cover how to define those colour...
12829 sym R (1888 sym/32 pcs) 24 img 16 tbl
Introducing the {messy} package
When teaching examples using R, instructors often use nice datasets, but these aren’t very realistic, and aren’t what students will later encounter in the real world. Real datasets have typos, missing values encoded in strange ways, and weird spaces – to name just a few issues. At the same, it’s quite rare to teach a module solely on data w...
3492 sym R (927 sym/14 pcs) 2 img 7 tbl
Parameterized plots and reports with R and Quarto
Last week I ran a workshop on Parameterized plots and reports with R and Quarto as part of the R/Pharma conference, which I thoroughly enjoyed! There were lots of interesting questions from attendees during the workshop, some of which we didn’t quite have time to get to during the workshop. So this blog post will attempt to answer those questions...
14544 sym R (1983 sym/28 pcs) 4 img 14 tbl
Getting started with generative art
Last month, as part of the RSS pre-conference workshop for early career statisticians organised by the Young Statisticians Section, I delivered a workshop on Getting started with generative art. The slides from the workshop can be found online. I’ve now finally gotten around to writing up the workshop as a blog post which will explain what genera...
12123 sym R (1109 sym/12 pcs) 16 img 6 tbl
Creating typewriter-styled images in R
In September 2023, I wrote a blog post about creating typewriter-styled maps in {ggplot2}. It described the process of creating an elevation map where, instead of using colours to denote the different elevation levels, different letters of the alphabet were used. By choosing the correct font, it gives the impression that the map was created using a...
10024 sym R (1420 sym/28 pcs) 12 img 14 tbl
What’s new in {PrettyCols} 1.1.0?
Back in September 2022 I submitted {PrettyCols}, an R package containing aesthetically pleasing colour palettes, to CRAN. If you missed it, you can read the blog post introducing the package! Over a year after the last CRAN release, it was time for an update and this blog post will give you a brief overview of some of the new features and palettes!...
3148 sym R (840 sym/12 pcs) 10 img 6 tbl
Coloured text in {ggplot2}: {ggtext} vs {marquee}
When you use colour to denote the values of a variable in a visualisation, it’s very common to add a legend showing how the colours map to different values. If you create your charts using {ggplot2}, a legend is added automatically when you add colour or fill within the aesthetic mapping. One problem with these legends is that they take up a lot ...
6414 sym R (2185 sym/26 pcs) 10 img 13 tbl