Creating an animated Christmas tree in R
Published: December 24, 2024
In this short Christmassy blog we will show you how to use {ggplot2}, {sf} and {gganimate} to create a festive animation of a sparkling Christmas tree.
Authors: Amieroh Abrahams & Osheen MacOscar
Published: December 24, 2024
In this short Christmassy blog we will show you how to use {ggplot2}, {sf} and {gganimate} to create a festive animation of a sparkling Christmas tree.
Author: Russ Hyde
Published: December 19, 2024
Here, we’ll talk about music in R, what packages are available, how to represent musical notation, and what people are actually doing with music data in R.
Authors: Colin Gillespie & Myles Mitchell
Published: December 12, 2024
The latest version of Posit Package Manager allows us to add metadata to package pages. This means we can now directly link R and Python packages to diffify.com!
Author: Theo Roe
Published: December 5, 2024
Positron is the new beta Data Science IDE from Posit. Though Posit have stressed that maintenance and development of RStudio will continue, I want to use this blog to explore if Positron is worth the switch.
Author: Heather Turner
Published: November 14, 2024
This year Shiny in Production hosted an "R Dev Day" split over the two days before the pre-conference workshops. R Dev Days are a new initiative of the R Contribution Working Group, providing an opportunity for R developers to get involved in contributing to the R Project. R Dev Day will be back at SIP 2025, so read on to find out what participants got up to and consider coming along next year!
Author: Osheen MacOscar
Published: November 7, 2024
All of our public training courses for the first half of 2025 are now available to book! Head over to our public training webpage to book in and start building your programming skills in the new year! In this blog, we list all of our upcoming courses with a description, bookable dates, course level and a link to find out more.
Author: Myles Mitchell
Published: October 31, 2024
The latest in our three part series of blogs on Vetiver for MLOps. Having previously introduced the modelling and deployment steps of the MLOps workflow, we now consider the maintenance of a model in production. The monitoring process involves adding a date column to our data, scoring our model at regular time intervals, and checking for signs of model drift over time as the data evolves.
Authors: Myles Mitchell, Russ Hyde & Keith Newman
Published: October 17, 2024
The 9th and 10th of October saw the third Shiny in Production conference hosted by Jumping Rivers. Here we share the highlights from our fabulous talks and workshops.
Author: Clarissa Barratt
Published: August 8, 2024
We are pleased to announce the full line-up for this year's Shiny in Production conference! In this blog post, we've pulled together all of the talk abstracts to give you a full view of what to expect!
Author: Clarissa Barratt
Published: July 4, 2024
The details of all of our workshops for Shiny in Production are now live on the conference website. Read on for full details all in one place.
Authors: Tim Brock, Colin Gillespie & the Jumping Rivers Team
Published: June 27, 2024
R has come a long way since it's initial public release in August 1993. Explore some highlights of the last thirty years in an interactive timeline.
Author: Colin Gillespie
Published: June 20, 2024
In this post, we demonstrate how to deploy a machine learning model to production using Docker, Posit Connect, and SageMaker. Docker allows developers to bundle application code with necessary dependencies, simplifying deployment. We outline the process of creating a Dockerfile with the {vetiver} package and running the model locally. Additionally, we show how to publish the model to Posit Connect and SageMaker for broader accessibility.
Author: Colin Gillespie
Published: June 13, 2024
This post introduces MLOps and its integration into the traditional data science workflow, focusing on continuous model deployment and maintenance. It demonstrates automating data importation, creating a model with {tidymodels}, and using {vetiver} to store and deploy the model. The process includes creating an API with {plumber} and deploying it locally. Finally, it verifies the API functionality, setting the stage for future production deployments. description: This post introduces MLOps and its integration into the traditional data science workflow, focusing on continuous model deployment and maintenance. It demonstrates automating data importation, creating a model with {tidymodels}, and using {vetiver} to store and deploy the model. The process includes creating an API with {plumber} and deploying it locally. Finally, it verifies the API functionality, setting the stage for future production deployments.
Author: Clarissa Barratt
Published: June 6, 2024
Our courses for the second half of 2024 have now been released. We have everything from the very basics of R and Python for data science, to advanced statistical modelling and machine learning. Interested in dashboards and reporting? We have courses on reporting with Quarto, as well as both introductory and advanced Shiny.
Author: Clarissa Barratt
Published: May 30, 2024
We are excited to announce the Call for Abstracts for Shiny in Production 2024, to be held on 9th-10th October 2024 in Newcastle upon Tyne, UK. Read on for more details on how to submit your work.
Author: Clarissa Barratt
Published: May 9, 2024
We wanted to say a huge thank you to everybody who attended SatRdays London 2024! It was brilliant to see you all there, and we hope you enjoyed the day as much as we did.
Author: Clarissa Barratt
Published: April 12, 2024
Registration for SatRdays London 2024 is closing soon! Don't miss out on this excellent opportunity to expand your R knowledge and network with other R enthusiasts. Read on for a reminder of what to expect.
Author: Rhian Davies
Published: April 4, 2024
Reading in large spatial data can sometimes be a pain. Here are some simple things to consider when working in spatial data in R and tips for breaking large data sets into more manageable chunks.
Author: Clarissa Barratt
Published: March 19, 2024
SatRdays London is fast approaching and we wouldn't be able to put it on without the support of our sponsors!
Author: Rhian Davies
Published: March 7, 2024
Give your R packages a spring clean with these helper functions from the usethis package.
Authors: Rhian Davies & Keith Newman
Published: February 29, 2024
Conferences present a great opportunity to meet other professionals working in your field and lay the foundations for future collaborations. But what should you do if the idea of meeting new people puts you well out of your comfort zone?
Author: Clarissa Barratt
Published: February 27, 2024
SatRdays London is fast approaching and we are happy to announce our full lineup of speakers for the event! Read on for more info. If you want to join the fun, head over to the conference website to sign up!
Author: Tim Brock
Published: February 15, 2024
A very quick introduction to the new-look blog and tags pages and the brand new author pages.
Author: Colin Gillespie
Published: February 1, 2024
A benefit of using the {arrow} package with parquet files is it enables you to work with ridiculously large data sets from the comfort of an R session. In this post we explore the timescales associated with different methods of data storage.
Author: Clarissa Barratt
Published: January 25, 2024
We're a couple of weeks into 2024, and now that we've all settled back in, we thought it was a good time to let you know what events we have coming up for you this year!
Author: Colin Gillespie
Published: January 18, 2024
Apache Arrow is a cross-language format for super fast in-memory data. It's designed for efficient analytic operations. In this post, we look at reading and writing data using Arrow and the advantages of the parquet file format.
Author: Colin Gillespie
Published: January 11, 2024
Shiny applications are easy to set up. However, as they often contain sensitive information, care should be taken. This post discusses standard server headers that can be set to harden your application.
Author: Osheen Macoscar
Published: December 14, 2023
Inspired by Colin Fay's Shiny in Production 2022 talk, "Destroy All Widgets", this blog post series explores how to use Google Lighthouse to measure the performance of your Shiny apps. The last blog in the Lighthouse series uses Google Lighthouse to see the differences each component has on the app times.
Author: Osheen MacOscar
Published: December 7, 2023
Inspired by Colin Fay's Shiny in Production 2022 talk, "Destroy All Widgets", this blog post series explores how to use Google Lighthouse to measure the performance of your Shiny apps. In this second post of the series, we show how to use lighthouse to analyse your app's start-up times.
Author: Osheen MacOscar
Published: November 30, 2023
Inspired by Colin Fay's Shiny in Production 2022 talk, "Destroy All Widgets", this blog post series explores how to use Google Lighthouse to measure the performance of your Shiny apps. In this first post of the series, we show how to run and read Google Lighthouse reports.
Author: Clarissa Barratt
Published: November 28, 2023
All of our public training courses for the first half of 2024 are now available to book! Head over to the public courses page on our website to book in and start building your programming skills in the new year! In this blog post, we provide a list of all of our upcoming courses with a description, upcoming dates, course level and a link to the page to find out more!
Author: Jack Kennedy
Published: November 23, 2023
The `theme()` command from {ggplot2} has a lot of arguments. This can be a bit daunting, even for those who are familiar with {ggplot2}! We will walk you through how to modify some aspects of a {ggplot2} theme and give you the confidence to try making your own theme modifications.
Author: Clarissa Barratt
Published: November 14, 2023
SatRdays is returning to London in April 2024! We're excited to welcome you to Bush House again next year. Want to get even more involved? Read on to find out how you can submit an abstract for a talk!
Author: Shane Halloran
Published: November 2, 2023
Over several weeks, we worked to deploy a data science platform for our client. It is a one-stop platform for data analysis and visualisation. This platform consists of interconnected applications, which are the motor which enables the productivity of the data scientists sitting at the wheel.
Authors: Myles Mitchell, Parisa Gregg, Osheen MacOscar & Rhian Davies
Published: October 19, 2023
On October 12-13 2023, Jumping Rivers hosted the Shiny in Production conference, delving into all things Shiny! Read on for a rundown of the event highlights.
Author: Clarissa Barratt
Published: September 28, 2023
There's only two weeks left to go until Shiny in Production 2023! The events team are hard at work getting things ready for the day, and we wanted to take this opportunity to say a huge thank you to our event sponsors!
Author: Clarissa Barratt
Published: September 14, 2023
Our bags are packed, flights are booked, and we're ready to head stateside for posit::conf(2023). We're excited to be sponsoring the event this year, as well as presenting a few talks ourselves.
Author: Clarissa Barratt
Published: September 7, 2023
We are pleased to announce the full line-up for this year's Shiny in Production conference! In this blog post, we've pulled together all of the talk abstracts and speaker bios, to give you a full view of what to expect!
Author: Jack Kennedy
Published: August 31, 2023
UFO sightings are a mysterious occurrence! We're going to use Bayesian methods via Stan and R to analyse UFO sighting reports over the past century.
Authors: Clarissa Barratt & Rhian Davies
Published: August 29, 2023
The Royal Statistical Society International conference is next week and Jumping Rivers are exhibiting at the conference, as well as delivering workshops and talks. The draft program can now be viewed online, so we wanted to let you know where you can find us at the event and some of the other sessions we are looking forward to.
Author: Amieroh Abrahams
Published: August 17, 2023
Before you embark on your data science journey, it's crucial to equip yourself with the essential tools for data cleaning and preprocessing. Join us as we explore the vital role that data cleaning and preprocessing play in ensuring the quality and integrity of your datasets.
Author: Clarissa Barratt
Published: July 27, 2023
The recordings from this year's SatRdays London conference are here! Over the next couple of weeks, we will be releasing the recordings of some of the excellent talks from the conference!
Author: Mandy Norrbo
Published: July 20, 2023
Learn how to generate multiple reproducible presentations at once using Quarto parameters, so you can generate e.g. one presentation for each year in your data set.
Author: Clarissa Barratt
Published: July 18, 2023
With the early bird deadline approaching, we thought now would be a great time to tell you a bit more about what to expect at this year's Shiny in Production!
Author: Clarissa Barratt
Published: July 6, 2023
Earlier this year, two data scientists from Jumping Rivers ran an outreach activity for 14-19 year olds across the UK, in collaboration with the youth charity Speakers for Schools.
Author: Myles Mitchell
Published: July 4, 2023
Embark on your programming odyssey with our extensive range of courses! Never written a line of code in your life? No stress - we offer a mix of introductory courses for beginners as well as more advanced courses for those looking to expand their knowledge further.
Author: Tim Brock
Published: June 8, 2023
Browsers have been implementing variations on a JavaScript fullscreen API for over a decade. Unfortunately, for much of that time the APIs varied across browsers. This made actually using it in production somewhat cumbersome. In this blog, we show you how to put parts of your Shiny application into fullscreen with only a few lines of JavaScript.
Author: Clarissa Barratt
Published: June 6, 2023
This summer, we have public courses to take you all the way from the very basics of R, through to using R for statistical modelling, with some data wrangling and intermediate programming in between. Wherever you are on your R journey, take a look at our upcoming courses to see if we can help you on your way.
Author: Clarissa Barratt
Published: May 25, 2023
With the planning for this year's Shiny in Production conference well under way, we thought now was a good time for a little recap of what happened last year.
Author: Clarissa Barratt
Published: May 23, 2023
Just like the world of data science, our ethos is transparency and giving back to the community. We are offering automatic sponsorship for R conferences. All the organisers have to do is complete a quick questionnaire and the money is sent on it’s way.
Author: Amieroh Abrahams
Published: May 18, 2023
If you've been using Excel for a while, then you've likely entered your comfort zone and remained there. Let's help you make the wise switch to R. In this blog, we will explore the various ways to handle dates in Excel and R.
Author: Clarissa Barratt
Published: May 11, 2023
SatRdays returned to London last month, with a day packed full of talks from expert speakers across a variety of sectors! We'd like to take this opportunity to say a huge thank you to everybody involved in making the day a success!
Author: Myles Mitchell
Published: May 2, 2023
It's been just over a year since we introduced the world to diffify, our app for comparing package releases. To celebrate reaching this milestone, we're pleased to announce that an "anniversary update" has just gone live! Read on to learn about the latest changes and some exciting plans in the works…
Author: Mandy Norrbo
Published: April 27, 2023
Learn how to create a clickable word cloud that you can use as an input to e.g. filter observations displayed in a table, using wordcloud2 in a Shiny app.
Author: Russ Hyde
Published: April 20, 2023
R v4.3.0 is released on April 21st, 2023, and continuing a recent theme, R is getting stricter with your code. If you don't know your `&` from your `&&` you may be in for a bumpy ride. Here, we discuss the changes to the logical comparison operators and a few other new features.
Author: Amieroh Abrahams
Published: April 13, 2023
If you've been using Excel to create plots from your data for a while, you may have got to a point where you want more customisation options, or reproducibility. In this post, we discuss the differences between creating plots in Excel and using ggplot2 in R!
Author: Clarissa Barratt
Published: April 11, 2023
We’re delighted to announce that we’ve been named a Finalist in the British Data Awards 2023. Read on to find out more about the awards, and the categories in which we are finalists!
Author: Clarissa Barratt
Published: April 6, 2023
SatRdays London is fast approaching, and we have a couple of exciting announcements to share with you! Read on to find out more.
Author: Clarissa Barratt
Published: March 28, 2023
On 22nd April 2023 we will be hosting SatRdays London, an inclusive, low cost event, which gives R users an opportunity to network and learn from other experts across sectors. In a recent blog post, we introduced all of the speakers for the event! This week, it's the sponsors turn.
Author: Nicola Rennie
Published: March 23, 2023
Alt text is text that describes the appearance and purpose of an image. This blog post will show you how to include alt text in your web applications and documents when you've built them in R.
Author: Mandy Norrbo
Published: March 16, 2023
Sometimes you want to go beyond the default {shinydashboard} theme. This blog will take you through 3 options—built-in colours, the {fresh} package, and CSS.
Author: Theo Roe
Published: March 9, 2023
In this blog, we'll discuss the Network Error Logging header from W3C. It's a feature of most browsers that lets a website / application opt in to receive reports about failed network fetches from the browser.
Author: Clarissa Barratt
Published: March 7, 2023
SatRdays London is fast approaching, and we are happy to announce our full lineup of speakers for the event! Read on for more info. If you want to join the fun, head over to the conference website to sign up!
Author: Theo Roe
Published: March 2, 2023
Content Security Policy (CSP) is a framework of modern (ish) browsers used to give applications an extra layer of security - safeguarding against attacks such as cross-site scripting. In this blog, we aim to introduce the concept of Content Security Policy and teach some of the technical aspects.
Author: Amieroh Abrahams
Published: February 23, 2023
Are you an Excel user who's considering switching over to using R? In this blog we'll use both to compare common data wrangling steps.
Author: Clarissa Barratt
Published: February 21, 2023
Shiny in Production is returning to the Catalyst this October! Our workshop lineup has now been finalised, and our first two speakers are confirmed. Read on to find out more.
Author: Keith Newman
Published: February 16, 2023
By automating a few tasks using continuous integration and continuous delivery pipelines, developers at Jumping Rivers spent less time on the trivial and repetitive tasks, and more time making improvements where it really mattered.
Author: Clarissa Barratt
Published: February 7, 2023
We have a great list of online public training courses coming up over the next two months! Read on for a taste of what's in store, or head over to our training page for full details and to book!
Author: Tim Brock
Published: January 26, 2023
This post covers the "why?" and "how?" of making Shiny applications feel like they respond instantaneously to users' interactions.
Author: Clarissa Barratt
Published: January 24, 2023
At Jumping Rivers we're all about getting involved in the R community! As such, we host multiple events throughout the year. Read on for information about what we have planned so far for 2023!
Author: Russ Hyde
Published: January 19, 2023
It pays to extract out some helper functions and / or classes from your test cases. By doing so, your tests will look simpler, the behaviour that you are testing will be more explicit, and you'll have less code to maintain.
Author: Russ Hyde
Published: January 12, 2023
Here, we will write a simple shiny app (as an R package) and show how to generate tests for this app using {shinytest2}.
Author: Clarissa Barratt
Published: January 11, 2023
SatRdays is returning to London this April! SatRdays are low-cost R conferences, hosted on Saturdays to enable those who usually cannot attend to take part.
Author: Russ Hyde
Published: January 5, 2023
Automated testing is an essential part of any production-quality software project. Much of the focus in the R world is on testing the individual components of a project, but for those working with {shiny} there are great tools that can test your application as if a user was interacting with it. In this blog series, we focus on {shinytest2}.
Author: Clarissa Barratt
Published: December 20, 2022
If you're thinking of picking up a new skill in the new year, take a look at our upcoming public training courses! We have plenty of introductory courses coming up, both online and in-person, so you can hit the ground running after the holidays!
Author: Nicola Rennie
Published: December 15, 2022
Unlike other programming languages, there isn't currently a dominant approach to OOP in R. Here's a brief overview of the new S7 package that aims to change that.
Authors: Nicola Rennie & Colin Gillespie
Published: December 8, 2022
Are you an R user considering switching from R Markdown to Quarto? Here are our favourite features that we think R users might benefit from.
Author: Clarissa Barratt
Published: December 6, 2022
Over the last two weeks, we have been releasing the recordings of the talks from our Shiny in Production conference! Read on to take a look for yourself!
Author: Astrid Radermacher
Published: December 1, 2022
Data science and data engineering are incredibly cognitively demanding professions. As data professionals, we are required to leverage both our analytical/engineering skills and our interpersonal skills to be effective contributors within our organisations. In this blog, we discuss why this combination could reasonably count as an occupational hazard.
Author: Rachel Binks
Published: November 24, 2022
Recently I came across a situation where I had to use Microsoft Excel for a project. In this blog post I discuss some of the things I found surprisingly difficult when learning Excel as an R user.
Author: Myles Mitchell
Published: November 15, 2022
We are excited to finally release Python content on Diffify! You can now perform version comparisons for 1600 popular PyPI packages. Read on to learn about the new content, and our plans to expand this as we look to the future.
Author: Mandy Norrbo
Published: October 27, 2022
There are an increasing number of open-source "add-on" packages that extend both the front end and the back end functionality of Shiny. This blog will highlight 5 UI add-on packages that can massively improve your user experience and also just add a bit of flair to your app.
Authors: Jamie Owen & Colin Gillespie
Published: October 20, 2022
Deploying shiny applications can be frustrating, making sure your production environment matches your local environment where you can see your application running. In this blog post we explore how we might start writing code to automate the process of creating Dockerfiles for producing images that make our local, running, shiny application able to be deployed in a container.
Author: Clarissa Barratt
Published: October 18, 2022
Here at Jumping Rivers we like to keep our courses up to date so we can bring you training on the latest tools and technologies. To this end, we have recently added two new courses to our listing!
Authors: Nicola Rennie, Rhian Davies, Jack Walton & Mandy Norrbo
Published: October 13, 2022
On October 6-7 2022, Jumping Rivers hosted the Shiny in Production conference! The conference delved into the world of {shiny} and other web based R packages.
Author: Rhian Davies
Published: October 6, 2022
Have you ever inherited a pile of messy code? Or perhaps you wrote some code a long time ago and it needs some TLC? Here are our tips for refactoring messy code.
Author: Clarissa Barratt
Published: October 4, 2022
Shiny in Production is just around the corner and we can't wait to see you all there! Read on for more on what we have in store!
Author: Jamie Owen
Published: September 29, 2022
Unit testing is an integral part of creating robust applications and codebases. Continuing the API as a package series we explore how you might set up unit tests with {testthat} for your API service.
Author: Jamie Owen
Published: September 22, 2022
Logging is crucial to understanding what's going on with an application as it runs. There are some good solutions to logging of R shiny applications but less so for plumber applications. Continuing the API as a package series we examine how you might add some automatic logging to your API service written in R using plumber and the logger package.
Author: Clarissa Barratt
Published: September 20, 2022
It will come as no great surprise that here at Jumping Rivers, we are huge advocates for learning data skills. There are many benefits to learning at least some basic data skills, even if you don't work explicitly with data.
Author: Jamie Owen
Published: September 15, 2022
Inspired by opinionated packages on {shiny} app development such as {golem} and {leprechaun}, Jumping Rivers adopted a similar pattern for producing a {plumber} API as a package for one of our client projects. This is one of a series of blog posts discussing the general structure of said package.
Author: Parisa Gregg
Published: September 8, 2022
In this installment of our series on deploying to RStudio Connect we take a look at Streamlit. Streamlit enables quick and easy creation of web applications for machine learning and data science. We will go through a simple app and how to deploy it.
Author: Nicola Rennie
Published: September 6, 2022
Jumping Rivers are exhibiting at the RSS International Conference 2022, and we'll delivering workshops and talks as well. These are a couple of the sessions we're looking forward to the most!
Author: Parisa Gregg
Published: September 1, 2022
Next up in our blog post series on deploying Python APIs to RStudio Connect is FastAPI. FastAPI is a high-performance web framework for building APIs with Python. Read on to see how you can deploy your FastAPI apps with RStudio Connect!
Author: Parisa Gregg
Published: August 25, 2022
RStudio Connect (soon to be Posit Connect) is a platform that provides the ability to deploy and share R applications and reports. However, it is not just for R developers (hence the name change). RStudio Connect also supports many Python applications, including Flask. In this blog we will look at how to deploy a Flask app to RStudio Connect.
Author: Jamie Owen
Published: August 23, 2022
RStudio conf 2022 had some exciting reveals. Certainly one of the most interesting releases was that of shiny, the excellent web application development framework known in the R community, getting a Python release. Here we will take a first look at creating a simple application.
Authors: Myles Mitchell & Parisa Gregg
Published: August 18, 2022
Roll up, roll up! Most R packages contain a NEWS file which documents the changes between each release. However, there is no definitive convention for how to format this file. In this post we will share some top tips for writing NEWS files, so that by the end you will be able to tell “good” NEWS from “fake” NEWS!
Author: Nicola Rennie
Published: August 11, 2022
July 25 - 28 2022 saw thousands of people attend rstudio::conf(2022) from all over the world, including a few of us from Jumping Rivers. Here's a recap of the big news, and a few of our personal highlights from the conference!
Authors: Myles Mitchell & Clarissa Barratt
Published: August 9, 2022
What a few months it's been for Diffify, our new app for comparing package releases! We’ve been delighted with the enthusiastic response and quick adoption by the R community. Read on to learn about just some of many updates we’ve made to the app since launch day, and how we are actively addressing your feedback as we look to the future.
Author: Tim Brock
Published: August 4, 2022
This article looks at how we added new themes to diffify.com to make the site more accessible to users with visual impairments and the tools we used to check the suitability of our new themes.
Author: Tim Brock
Published: July 28, 2022
In this post we'll look at low contrast sensitivity and colour vision deficiencies and why we wanted to make changes to diffify.com to make it more accessible to users with these conditions.
Authors: Colin Gillespie & Nicola Rennie
Published: July 26, 2022
rstudio::conf(2022) is well underway and, after two days of workshops, the main talks begin tomorrow. Here are our highlights of talks we're most excited about!
Author: Liam Kalita
Published: July 21, 2022
RStudio Connect supports a spectrum of data products, static or dynamic, developed in R and Python: Dashboards, applications, APIs, reports, and much more - we can also host ReactJS applications! This series will focus on recreating a Shiny App tutorial using ReactJS. In part 3 will demonstrate how to host an application on RStudio Connect.
Author: Liam Kalita
Published: July 14, 2022
RStudio Connect supports a spectrum of data products, static or dynamic, developed in R and Python: Dashboards, applications, APIs, reports, and much more - we can also host ReactJS applications! This series will focus on recreating a Shiny App tutorial using ReactJS. In part 2, we will walk through an example.
Author: Clarissa Barratt
Published: July 12, 2022
At Jumping Rivers, we love data science! Surprised? Didn't think so ... But, did you know that as well as providing training and consultancy, we also like to get involved with the data science community!
Author: Liam Kalita
Published: July 7, 2022
RStudio Connect supports a spectrum of data products, static or dynamic, developed in R and Python: Dashboards, applications, APIs, reports, and much more - we can also host ReactJS applications! This series will focus on recreating a Shiny App tutorial using ReactJS. In part 1, we introduce the required concepts and technologies.
Author: Sebastian Mellor
Published: June 30, 2022
RStudio Workbench provides a development environment for R, Python, and many other languages. When developing a performant web application you may progress from Shiny towards tools like Plumber. As a Shiny developer, one popular front-end library you might already be familiar with is React.
Author: Clarissa Barratt
Published: June 28, 2022
If you're based in the North East of England and you're looking for a place to discuss all things data science with like-minded people, then you might want to check out the North East Data Scientist (NEDS) Meetups!
Author: Nicola Rennie
Published: June 23, 2022
Choosing which colours to use in a plot is an important design decision. This blog post will show you how to make a custom colour palette that is compatible with {ggplot2}.
Author: Russ Hyde
Published: June 21, 2022
The great strength of Shiny is that it simplifies the production of data-focused web applications, making it relatively easy to present data to users / clients in an interactive way. However, data can be big and data-processing can be complex, time-consuming and memory-hungry. In this post we demonstrate how we tackled this issue in a recent project.
Author: Clarissa Barratt
Published: June 14, 2022
The organisation for Shiny in Production is well under way - our list of speakers is now up on the conference website, and registration is open, with Early Bird tickets available until July 31st! Read on for more details.
Author: Georgia Atkinson
Published: June 9, 2022
H2O.ai is a company which develops products for easy, scalable, machine learning and artificial intelligence. This post will talk through who H2O.ai are and what software they provide for your machine learning needs.
Author: Clarissa Barratt
Published: June 7, 2022
The trainers here at Jumping Rivers have been busy developing a host of new courses for your programming pleasure! We have recently developed several new courses, which are now available to view on our course list.
Authors: Colin Gillespie & Jack Walton
Published: May 31, 2022
Complex software bugs are often difficult to reproduce. Unfortunately, without this reproducibility it can be hard to get help and input from others. In this post we discuss a particularly nasty bug we encountered and how we made it reproducible.
Author: Jamie Owen
Published: May 19, 2022
Web content accessibility is an important topic to consider when building web based applications. {shiny} is an excellent tool that allows data practitioners a relatively simple, quick approach to providing an intuitive user interface to their R code via a web application. Here we explore accessibility in the context of a {shiny} application.
Authors: Clarissa Barratt & Nicola Rennie
Published: May 13, 2022
This October, Jumping Rivers will be holding our Shiny in Production conference! Hosted in the centre of Newcastle Upon Tyne, UK, this conference will delve into the world of {shiny} and other web based R packages.
Author: Jamie Owen
Published: May 12, 2022
The web is an increasingly critical resource for many aspects of life. Striving to make your content accessible is essential to provide equal opportunity and access for all.
Author: James Salsbury
Published: May 5, 2022
All food establishments in England & Wales have a Food Hygiene Rating. A value of 0 suggests this is a place to avoid, whereas a value of 5 gives you confidence in the restaurant. In this post, we show that (sadly) hyigene ratings are linked to deprivation.
Authors: Clarissa Barratt & Parisa Gregg
Published: April 29, 2022
Welcome to Diffify, the tool that provides you with a comparison between different versions of any R package stored on the CRAN repositories.
Author: Clarissa Barratt
Published: April 8, 2022
The daffodils are out, the sun is shining(ish), spring is in the air! And that means that it’s time to start planning for the conference season.
Author: Colin Gillespie
Published: April 1, 2022
R version 4.2.0 is about to be released. This release includes an update to the native pipe, changes to logical operators and improvements to the help page. In this blog post, we take a look at (some of) these new features. Highlighting (in our opinion) the most exciting changes.
Author: Colin Gillespie
Published: January 25, 2022
R 4.0 was released almost two years ago. However, the majority of R users didn't immediately adopt the new version due to obvious constraints when updating software. The consequence is that many of the new and useful features are forgotten about. This post highlights the features as we've moved to R 4.0.
Author: Nicola Rennie
Published: December 21, 2021
Creating 30 maps for the 30 Day Map Challenge in November 2021 was indeed a challenge, but over the course of the month I developed a process for approaching the problem. This blog post will focus on the thought process behind creating maps rather than the technical aspects of writing the code.
Author: Nicola Rennie
Published: December 15, 2021
In line with the continuous growth at Jumping Rivers, we are looking to expand our team of dedicated professionals working in our teams. If you are enthusiastic and keen to develop your skills in cutting edge data science disciplines or infrastructure please read on!
Author: Osheen Macoscar
Published: October 22, 2021
Our annual training review is back! Like many other training providers, we had to pivot to online learning in 2020, which brought with it challenges but also new opportunities. The review will show you what the year looked like for our trainers and training course attendees, including which trainer taught the most courses!
Author: Colin Gillespie
Published: October 19, 2021
In 2020, GitHub took the correct decision to change the default branch from master to main. For single, independent repositories, this is relatively straightforward. But moving groups or organisations is more complex and requires planning.
Author: Mandy Norrbo
Published: October 12, 2021
Learning D3.js can be pretty overwhelming as an R user. Luckily, the {r2d2} package lets you keep your data cleaning steps in R and easily incorporate any visualisation in R Markdown reports and R Shiny dashboards. This tutorial-style blog will take you through creating your first D3 visualisation with a bit of Scooby-Doo along the way.
Author: Colin Gillespie
Published: September 27, 2021
Apache Parquet is a column storage file format used by many Hadoop systems. This post describes what Parquet is and the tricks it uses to minimise file size. We also discuss how to use Parquet, within an R workflow.
Author: Colin Gillespie
Published: July 19, 2021
Bridging the gap between data science and IT teams is much easier than you might expect! This two-part webinar will discuss why open source languages are suitable for enterprise data science, and how data scientists can work with the IT team to get their organisational buy-in.
Author: Mandy Norrbo
Published: July 13, 2021
Forking repositories is a great way to learn from and contribute to others' code. However, you may quickly end up with a cluttered user space, with old forks lingering around. Manually removing repositories is slow and tedious. Read more to find out how you can use the {gh} package to speed up the process.
Author: John McIntyre
Published: June 1, 2021
In line with the continuous growth at Jumping Rivers, we are looking to expand our team of dedicated professionals working in our teams. If you are enthusiatic and keen to develop your skills in cutting edge data science discliplines or infrastructure please read on!
Author: John McIntyre
Published: May 18, 2021
Good news! We have updated our public course page with our new programme of courses, being delivered between May and November. Early bird offers & academic discounts currently available.
Author: Colin Gillespie
Published: March 29, 2021
Moving your website to Hugo brings a lot of benefits, but there are also challenges. In this post, we'll discuss our top tips for making that move to Hugo as smooth as possible.
Author: Colin Gillespie
Published: March 12, 2021
Having consistent {knitr} options and hook, improves reproducibility and reduces errors. This post provides a set of standard {knitr} chunk arguments to simplify workflows and make consistent graphs.
Published: March 12, 2021
We are expanding the Jumping Rivers team. If you know {shiny} then this could be the perfect role for you!
Author: Colin Gillespie
Published: February 23, 2021
Adding images with {knitr} is straightforward; we simply use include_graphics(). However, it is easy to add an image that is too large, or has the wrong dimensions. This post tells you what to watch out for, and how to optimise your images for the web.
Author: Colin Gillespie
Published: February 19, 2021
When including graphics within a markdown document, it's crucial to use the correct file type from generating graphics. However, there isn't one size fits all, instead, we should choose what's most appropriate for the image.
Author: Colin Gillespie
Published: February 15, 2021
Setting the correct images sizes in an R markdown document, can be tricky. There are a number of different arguments that all interact with each other. In this post, we look at how we should create the correct image sizes using {knitr}.
Published: February 7, 2021
"If you've been using R for a while, you've likely accumulated a hodgepodge of useful code along the way. While you might be tempted to keep the code in a set of disparate file, this quickly becomes unmaintainable. Instead, you should consider placing the code in a personal R package."
Published: November 25, 2020
We love supporting the community around the open source tools that we use on a daily basis. In the past, Jumping Rivers has helped useR user groups and SatRdays events to happen by enabling frictionless sponsorship for European groups. We believe that it is our duty to help grow the community that helps us.
Published: October 16, 2020
For the last few years we’ve offered automatic sponsorship for meet-ups and satRday events. However for obvious COVID related reasons, most (all?) meet-ups have meeting getting together virtually, so the need for extra Pizza money has diminished. As with most organisations, we’ve had to adapted to the new online-first environment.
Published: October 13, 2020
Don’t we all miss 2019 (blame Covid for the long delay in this post). The days of going to work and seeing your work colleagues face to face - and for some of you, attending one of our on-site training courses! 2019 was a great year for us.
Author: Colin Gillespie
Published: August 28, 2020
One of our main roles at Jumping Rivers is to set-up and provide ongoing maintenance to R, Python and RStudio infrastructure. This typically involves ensuring software is up-to-date and making sure everything is running smoothly. The {oysteR} package is an R interface to the OSS Index that allows users to scan their installed R packages.
Published: August 14, 2020
Jumping Rivers is a data science consultancy company focused on R and Python. We work across industries and throughout the world. We offer a mixture of training, modelling, and infrastructure support. Jumping Rivers is an RStudio Full Service Certified Partner.
Author: Colin Gillespie
Published: June 25, 2020
Continuous integration is an amazing tool when developing R packages. We push a change to the server, and a process is spawned that checks we haven’t done something silly. It protects us from ourselves! However this process can become slow, as typically the CI process starts with a blank virtual machine (VM).
Published: April 21, 2020
So RStudio Connect has embraced Python and now runs Flask applications! At Jumping Rivers we make a lot of use of R, shiny, and Python for creating visual tools for our clients. Shiny has a lot of nice features, in particular it is very fast for prototyping web applications.
Author: Colin Gillespie
Published: April 15, 2020
In our recent post about saving R graphics, it became obvious that achieving consistent graphics across platforms or even saving the “correct” graph on a particular OS was challenging. Getting consistent fonts across platforms often failed, and for the default PNG device under Windows, anti-aliasing was also an issue.
Author: Colin Gillespie
Published: April 14, 2020
R is known for it’s amazing graphics. Not only {ggplot2}, but also {plotly}, and the other dozens of packages at the graphics task view. There seems to be a graph for every scenario. However once you’ve created your figure, how do you export it? This post compares standard methods for exporting R plots as PNGs/PDFs across different OSs.
Published: March 23, 2020
Every few weeks or so, a tweet pops up asking about how to speed up package installation in R. Depending on the luck of twitter, the author may get a few suggestions. The bigger picture is that package installation time is starting to become more of an issue for a number of reasons.
Published: March 16, 2020
Hey there! Here at Jumping Rivers, we have the capabilities to teach you R, Python & Git virtually. For the last three years we have been running online training courses for small groups (and even 1 to 1). How Is It Different To An In-Person Course? It’s the same, but also different!
Published: January 27, 2020
When talking about languages to use in Production in data science, R is usually not part of the conversation and if it is, it’s referenced as a secondary language.
Author: Colin Gillespie
Published: January 17, 2020
Every time R starts, it runs through a couple of R scripts. One of these scripts is the .Rprofile. This allows users to customise their particular set-up. However, some care has to be taken, as if this script is broken, this can cause R to break. If this happens, just delete the script!
Published: December 11, 2019
Operators you should make more use of in R. Only recently have I discovered the true power of some the operators in R. Here are some tips on some underused operators in R: The %In% Operator. This funny looking operator is very handy. It’s short for testing if several values appear in an object.
Published: December 8, 2019
Jumping Rivers are coming to San Francisco in January 2020! We’ll be running a number of R training courses with Paradigm Data. You can find the booking links and more details over at our courses page. Don’t be afraid to get in contact if you have any questions!
Published: December 5, 2019
Before we start anything, I’d like to mention that most of the hard work came from nsaunders and his great blog post Idle thoughts lead to R internals: how to count function arguments. Let’s get started. The aim of this blog is to capture the number of arguments present in each function with packages of the {tidyverse}.
Published: December 5, 2019
SatRdays are great. Low cost R events, held around the world. What’s not to love! For the last year, we have been offering automatic sponsorship for all SatRday events. All the organisers have to do is complete a quick questionnaire and the money is sent on it’s way. So far we have sponsored seven events!
Published: October 17, 2019
Jumping Rivers is a data science consultancy company focused on R and Python. We work across industries and throughout the world. We offer a mixture of training, modelling, and infrastructure support. Jumping Rivers is an Posit Full Service Certified Partner.
Published: September 9, 2019
At Jumping Rivers we’re always to want to branch into the data science community, and so this year we’re going to quite a few conferences in the autumn. You can catch us at: GSS (Government Statistical Service) Conference - Edinburgh.
Published: August 16, 2019
Big news. RStudio recently started certifying trainers in three areas: the tidyverse, Shiny and teaching. To be certified to teach a topic you have to pass the exam for that topic and the teaching exam. Even bigger news. Four of your lovely Jumping Rivers trainers are now certified to teach at least one topic!
Published: August 4, 2019
You’ll be pleased to know that Jumping rivers are running R training courses up and down the UK, in London, Newcastle, Belfast and Edinburgh. I’ve put together a quick summary of the courses available through til the end of the year. They are sorted by place then date.
Author: Colin Gillespie
Published: May 21, 2019
This blog post has two goals. Investigate the {bench} package for timing R functions. Consequently explore the different algorithms in the {digest} package using {bench}. What Is {Digest}? The {digest} package provides a hash function to summarise R objects.
Published: May 15, 2019
Earlier this month I attended the inaugural SatRday Newcastle. This was my first time attending a SatRday event, and I had a really enjoyable day. The event was sponsored by Newcastle University, Sage, RStudio and Jumping Rivers. There were over 100 attendees from across the U.K.
Author: Colin Gillespie
Published: February 4, 2019
One of the great things about R, is the myriad of packages. Packages are typically installed via CRAN, Bioconductor and GitHub. But how often do we think about what we are installing? Do we pay attention or just install when something looks neat? Do we think about security or just take it that everything is secure?
Author: Colin Gillespie
Published: January 29, 2019
When discussing how to speed up slow R code, my first question is what is your computer spec? It’s always surprised me that people are wondering why analysing big data is slow, yet they are using a five-year-old cheap laptop. Spending a few thousand pounds would often make their problems disappear.
Published: January 28, 2019
Jumping Rivers is a data science company based in Newcastle. We are not sector based and our clients range through all industries. We are looking for individuals who enjoy a challenge. Main Duties Technical Duties: Provide technical training, Development of bespoke statistical algorithms, Building web applications using R and Shiny, Data analysis using R and/or Python.
Published: January 25, 2019
Last year we gave you a price break down of some of the most popular R conferences around the globe for 2017. We’re going to do it again for 2018. Remember, you can get up-to-date information on upcoming conferences via our GitHub page. It’s important to note that these costs are the prices of an industry ticket for the conference only.
Published: January 25, 2019
We are pleased to announce the very first Satrday event in Newcastle upon Tyne (and England). satRdays Newcastle is a one-day, low-cost, community organised R conference in the heart of Newcastle City Centre. Where? The event will be held at Newcastle University.
Author: Colin Gillespie
Published: November 19, 2018
Domain squatting or URL hijacking is a straightforward attack that requires little skill. An attacker registers a domain that is similar to the target domain and hopes that a user accidentally visits the site. For example, if the domain is example.com, then a typo-squatter would register similar domains such as
Author: Colin Gillespie
Published: November 1, 2018
At Jumping Rivers we run a lot of R courses. Some of our most popular courses revolve around the tidyverse, in particular, our Introduction to the tidyverse and our more advanced mastering course. We even trained over 200 data scientists NHS - see our case study for more details.
Author: Jamie Owen
Published: October 15, 2018
I love R and I love Shiny. One of the things I really like about shiny is the ease with which you can incorporate other Javascript based tools and libraries. By my own admission, my JavaScript skills are definitely lacking but there are so many cool libraries out there which can really make visualisation and interaction with displayed content come alive.
Author: Colin Gillespie
Published: September 20, 2018
Last week I spent some time reminiscing about my PhD and looking through some old R code. This trip down memory lane led to some of my old R scripts that amazingly still run. My R scripts were fairly simple and just created a few graphs.
Published: September 2, 2018
Ever wonder what an evolving gif of each premier league team’s goal difference vs points would look like made in R? Look no further! Most of this is going to be setting up the data (as always) instead of actually plotting the data.
Published: August 29, 2018
Anyone who has a long commute or who has to travel with work knows the importance of podcasts. Podcasts allow you turn otherwise useless time, into something both productive and interesting. In this blog post, we’ll describe some of our favourite podcasts.
Author: Colin Gillespie
Published: August 21, 2018
In our previous post, we demonstrated that contrary to popular opinion, it is possible to generate attractive looking plots using just base graphics. Although we did confess, that it did take a lot of time and effort. In this post, we repeat the same exercise.
Published: July 2, 2018
So it’s here… After lots of entries (147 to be precise), we can finally announce the winner of the WhyR 2018 Competition! But first, we have to tell you quickly about how we picked the winner. How we did it. So it really wasn’t that hard. We held the questionnaire on typeform.
Published: May 22, 2018
It’s competition time! We’re sponsoring Why R? 2018 Conference. The conference runs from the 2-5th of July in Wroclaw, Poland and us nice folks here at Jumping Rivers are giving away a free ticket to the conference!
Published: May 9, 2018
Big news, from the 13th till the 27th June Jumping Rivers will be running 6 courses on R in Hamburg!!. It should be noted that each course runs for one day, apart from the Predictive Analytics course, which runs for 2 days. The courses are as follows:
Published: April 20, 2018
The results of the eRum competition are in! Before we announce the winners we would like to thank everyone who entered. It has been a pleasure to look at all of the ideas on show. The Main Competition. The winner of the main competition is Lukasz Janiszewski.
Published: April 20, 2018
Well well well, we’ve only gone and won The Water Hub hackathon! Well, joint winners but the main word is WINNER. First of all we want to say thank you to all the guys at the Water Hub and the Sunderland Software Centre for organising and inviting.
Author: Theo Roe
Published: April 12, 2018
Regular expressions. How they can be cruel! Well we're here to make them a tad easier. To do so we're going to make use of the {stringr} package. We're going to use the str_detect() and str_subset() functions. In particular the latter. str_detect() is used to detect whether a string contains a certain pattern.
Author: Theo Roe
Published: March 28, 2018
Given that I do quite like twitter, I thought it would be a good idea to right about R’s interface to the twitter API; {rtweet}. As usual, we can grab the package in the usual way. We’re also going to need the {tidyverse} for the analysis, {rvest} for some initial webscraping of twitter names, {lubridate} for some date manipulation and {stringr} for some minor text mining.
Published: February 7, 2018
Hi there! We’re running some courses on R, Python and Tensorflow around the UK that you might be interested in! All courses are spearheaded with lectures by one of our first-class trainers. The lectures are interspersed with practicals and coffee breaks. Attendees get a set of in-depth notes to pair with the lecture.
Published: February 2, 2018
So… big news. Jumping Rivers is sponsoring eRum 2018 and in light of this news we are giving away a free place at the conference! (Not to mention our very own lead consultant, Colin Gillespie, is one of the invited speakers.) The Main Competition: Here at Jumping Rivers, we maintain the site meetingsR.
Author: Colin Gillespie
Published: February 1, 2018
Hi all, so given our logo here at Jumping Rivers is a set of lines designed to look like a Gaussian Process, we thought it would be a neat idea to recreate this image in R. To do so we’re going to need a couple packages. We do the usual install.packages() dance (remember this step can be performed in parallel).
Author: Colin Gillespie
Published: January 25, 2018
Base R graphics get a bad press (although to be fair, they could have chosen their default values better). In general, they are viewed as a throw back to the dawn of the R era. I think that most people would agree that, in general, there are better graphics techniques in R (e.g. {ggplot2}).
Published: January 24, 2018
This year we had the privilege of sponsoring StanCon. Unfortunately, we weren’t able to actually attend the conference. Rather than let our ticket go to waste, we ran a small competition, which Ignacio Martinez won with his very cool (but in alpha stage) R package.
Published: January 19, 2018
Jumping Rivers is proud to be sponsoring the upcoming SatRday conference in Cape Town, South Africa on 17th March 2018. What is SatRday? SatRdays are a collection of free/cheap accessible R conferences organised by members of the R community at various locations across the globe.
Author: Theo Roe
Published: January 8, 2018
Let’s get something straight, there isn’t really any trouble with tibbles. I’m hoping you’ve noticed this is a play on 1967 Star Trek episode, “The Trouble with Tribbles”. I’ve recently got myself a job as a Data Scientist, here, at Jumping Rivers. Having never come across tibbles until this point, I now find myself using them in nearly every R script I compose.
Published: December 18, 2017
In last weeks post we tantalised you with upcoming R & data science conferences, but from a cost point of view, not all R conferences are the same. Using the R conference site, it’s fairly easy to compare the cost of previous R conferences.
Published: December 12, 2017
It’s that time of year when we need to start thinking about what R Conferences we would like to (and can!) attend. To help plan your (ahem) work trips, we thought it would be useful to list the upcoming main attractions. We maintain a list of upcoming rstats conferences.
Author: Colin Gillespie
Published: December 2, 2017
Can’t be bothered reading, tell me now. Host RStudio server on an azure instance. Configure the instance to access RStudio with a nice url. Getting started: Azure is cloud computing framework provided by Microsoft, the same idea as AWS by Amazon.
Published: November 29, 2017
Today we are happy to announce our Stan contest. Something we feel very strongly at Jumping Rivers is giving back to the community. We have benefited immensely from hard work by numerous people, so when possible, we try to give something back.
Authors: Theo Roe & Colin Gillespie
Published: November 27, 2017
The {plotly} package. A godsend for interactive documents, dashboard and presentations. For such documents, there is no doubt that anyone would prefer a plot created in {plotly} rather than {ggplot2}. Why? Using {plotly} gives you neat and crucially interactive options at the top, whereas {ggplot2} objects are static.
Author: Theo Roe
Published: November 20, 2017
As time goes on, your R scripts are probably getting longer and more complicated, right? Timing parts of your script could save you precious time when re-running code over and over again. Today I’m going to go through the 4 main functions for doing so.
Author: Colin Gillespie
Published: November 15, 2017
Can’t Be Bothered Reading, Tell Me Now. A simple one line tweak can significantly speed up package installation and updates. The Wonder Of CRAN: One of the best features of R is CRAN. When a package is submitted to CRAN, not only is it checked under three versions of R