↓ Skip to main content

Winston Chang's "Interactive Graphics with ggvis" at useR! 2014

·3 mins

Winston Chang’s “Interactive Graphics with ggvis” talk at useR! 2014 was in many ways a watershed moment for the the data science community, as the future directions of rich data visualization for analytics, communication, and the web were revealed. In this talk, Winston introduces the viewer to ggvis, lays out the fundamental architecture, and provides an overview of reactive architectures.

The commonality between science and art is in trying to see profoundly - to develop strategies of seeing and showing.

-Edward Tufte

Data Science does not happen solely in the large matrices hidden inside the dark confines of servers, it happens through the practitioner’s senses and in their mind. A practicing data scientist collects data from any number of data sources, forms theories about its underlying structure, and proceeds to (attempt to) discover an inkling of the secrets contained therein. Visualization is the tool most often used to accomplish this process in data science, and it’s not hard to understand why. When you consider the senses available to us and how long human beings have spent desperately harnessing scarce resources to sustain ourselves, it makes even more sense.

The most critical tool our ancient ancestors used was not the sense of touch or taste, but instead was our vision. Through thousands of years of evolution, humans developed the ability to know which red berry was sweet, and which was toxic. We developed the ability to spot out of the corner of our eye the slight rustling of some leaves, which betrayed a fawn and our next meal. We depend on these senses to let us know when something is right, when something is wrong, and when something is dangerous. Human are born explorers, and we hone the sharpest of our tools towards that goal. We see new things, new connections, and infer what we can’t directly see from what we can see in order to predict the unknown around us.

Intuition fails in high dimensions

-Unknown

The field of data visualization piggybacks on this evolutionary masterpiece of vision-driven cognition. This understanding allows humans to use intuition by mapping from many-dimensional data down to the dimensions humans work well in - like the two dimensional plane of your monitor. For many years R has contained the premiere visualization system as a “baked in” offering. Hadley Wickham’s ggplot2 library, an implementation of Leland Wilkinson’s “The Grammar of Graphics”, has been cited repeatedly as one of R’s competitive advantages in the data science toolbox. However, ggplot2 was not designed for the modern computing age where the deployment target for all non-trivial development is the web browser.

The ggvis package provides a modern re-conceptualization of many of the core concepts of ggplot2 and reframes them in the context of a reactive framework. Whereas ggplot2 created beautiful visualizations which were static and framed in the moment of the creators mind, ggvis allows the creator to assemble a pipeline of ideas, package them, and present them to the consumer. With ggvis, the reader is empowered through interactivity and responsiveness through the data to gain new perspectives. We hope this video encourages you to develop new and innovative visualizations, and empowers your users to interact with data in new ways you’ve never before thought possible!

UPDATE: Slides and code for this presentation are available here.

Related

Shiny: R made interactive @ useR! 2014

At useR! 2014, one of the most anticipated presentations was Joe Cheng’s Shiny: R made interactive. It was but one of the of a fantastic series of talks by RStudio representatives; check out Winston Chang’s ggvis: Interactive graphics in R for another great talk. Shiny begins with your R code and ends with the customer’s view: an interactive, browser-accessible application. This enables you to place a great deal of power into your users’ hands to customize their view and provides a variety of new and innovative ways to interact with the data, such as by tuning parameters and focusing on sub-populations. Essentially, Shiny functions by allowing you to “wire up” up a reactive application, greatly speeding up the development of a data and analysis based web app.

Packrat presentation at useR! 2014

There comes a time in a software toolchain’s lifecycle where the focus shifts from developer productivity and preference to the ability to deploy solutions in production which coexist gracefully in the enterprise. Configuration management and dependency management are two of the first points of friction in this transition, as the free-wheeling methods preferred by developers are at odds with the structured methods and isolation desired by administrators, who serve as gatekeepers to enterprise deployment. R is currently at this very point in the transition, in the midst of transformation from a language and environment used primarily in academic research to its growing place in the enterprise. At useR! 2014 there were a series of presentations on how dependency management can be addressed within the R ecosystem, ranging from “provider” side options (e.g. freezing CRAN and private repositories) to the client side options, where a project maintains its own dependencies as part of its codebase.