Data-Science Reactivity: Three Ways
Preface
The purpose of this book is to compare and contrast reactive data-science apps using three languages/frameworks:
- R: Shiny
- Python: Dash
- JavaScript: Observable
An example app is created for each framework:
- starting with the
penguins
data-frame from palmerpenguins:- show it as a table.
- specify grouping columns, aggregation columns, and an aggregation function.
- create an aggregated data-frame from the input, using the specification.
- show the aggregated data-frame as a table.
This book is written for folks who know how to develop basic Shiny apps, and wish to extend their knowledge to Dash (Python) or Observable (JavaScript). I will assume you have:
- basic knowledge of how to build a Shiny app.
- some familiarity with the tidyverse, in particular, dplyr.
In this book:
we’ll look at an Observable Notebook, where the app is the code.
The goal is to give you the confidence to take the next steps to learn more about each of these frameworks.
Other resources
Here are some resources I have found useful:
- Shiny’s tutorials.
- Once you have built a few Shiny apps, it can be helpful to get a better sense of what makes Shiny “tick”. Joe Cheng gave an outstanding tutorial at the precursor to rstudio::conf() in 2016: Part 1, Part 2.
- Hadley Wickham’s Mastering Shiny.
- Appsilon has a handy blog post: Dash vs. Shiny.
- Dash’s documentation.
- For an introduction to Observable, this tutorial page is a great start.
- If you are comfortable with JavaScript and want to get a quick sense of Observable: the somewhat distractingly-named Observable’s not JavaScript.