📍 Materials for a presentation about the R package Crosstalk, given at EARL London 2018
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
data fix words, colnames, markers, favicon, style Aug 14, 2018
img fix words, colnames, markers, favicon, style Aug 14, 2018
00_data-prep.R fix words, colnames, markers, favicon, style Aug 14, 2018
README.md add blurb link Sep 9, 2018
earl18-crosstalk.Rproj first commit Jul 31, 2018




This repo contains code for some materials I used in a presentation at the EARL (Enterprise Applications of the R Language) conference in London on 12 September 2018.

The presentation was about use of the crosstalk package to help solve a business problem. You can view the presentation in your browser and access the code from the dedicated repo.

Note that this talk was restricted to published data only and the content of this talk does not reflect or constitute official government policy.

This repo

The talk demonstrated a four-step process in the development of an interactive map tool given user feedback at each stage. Example code is hosted in this repo and the HTML outputs are viewable in-browser. The steps are shown below (click to be taken to the example):

  1. Leaflet
  2. Leaflet + Flexdashboard
  3. Leaflet + Flexdashboard + DT
  4. Leaflet + Flexdashboard + DT + Crosstalk

And in meme format if you prefer:


The blurb is available on the EARL website.

Crosstalk: Shiny-like without Shiny

Self-service interactive tools have great power to support decisions by policy-makers. Shiny apps are a natural fit for this, but it's not always easy to share them within the public sector. This is due to issues like a lack of server space, highly sensitive data and users who aren't R-savvy.

We've approached this problem in the UK's Department for Education by sharing interactive HTML widgets – embeddable JavaScript visualisation libraries – within RMarkdown outputs. Interactivity is, however, limited because selections in one widget don’t impact the data presented in another.

Joe Cheng's Crosstalk package (http://rstudio.github.io/crosstalk/) overcomes this with shared data objects that react to user inputs, altering the content of multiple widgets on the fly. I'll explain how I used Crosstalk to develop a 'pseudo-app' for exploring schools data with the Leaflet (maps), Plotly (charts) and DT (tables) widgets inside the Flexdashboard framework and how I shared it easily with policy-making users as a static HTML file for exploration in the browser.