INTERACTIVE DASHBOARDS WITH SHINY

Robert Mitchell | @robertmitchellv
2018-12-10

ABOUT ME

img

  • I work at Skid Row Housing Trust as a data analyst
  • (I'll just refer to it as SRHT from now on)
  • I have been working in this role for around three years
  • I am self taught as a programmer/analyst
  • Background in philosophy, comp lit, french, information science

A BIT ABOUT SRHT

img

  • We do three things:
    1. Develop affordable housing; specifically permanent supportive housing
    2. Provide supportive services to the residents of our affordable housing projects
    3. Have an affiliate manage the properties, repairs, et cetera

A BIT ABOUT SRHT

img

  • We believe in the Housing First model
  • We believe in Harm Reduction
  • This is pretty much industry standard for the most part

WHAT I WANT TO COVER

  • UI ➡️ server ➡️ user feedback loop
  • The different ways your shiny app can be interactive
  • The different ways your shiny app can look
    • The libraries associated with these efforts
  • How you can dip your toe into this kind work if phrases like deploy my application are scary using flexdashboard instead of shiny
  • Briefly touch on the improvements to the shiny framework, e.g., async and how you can make it scale (things to think about for later)

WHO THIS TALK IS FOR

  • People who have been learning R for a little while and are curious about they can put their work online
  • You've maybe done a shiny tutorial before but didn't finish it

***T

img

WHO THIS TALK IS FOR

img

  • You're eager to learn how some of this works but may not have time to put it to use yet
  • You're really just dipping your toe into this and want to get an idea into how it works

WHAT I HOPE FOR YOU AFTER

  • It's ok if you walk away from this still not sure how you're going to build your shiny application–writing code is hard and you should know it takes non-software engineers a while to wrap their minds around things like this
  • This is definitely my experience

img

WHAT I HOPE FOR YOU AFTER

img

  • The confidence to go home, read through some documentation and just try to start putting things together!
  • You won't learn until you try!

WHY SHINY?


img

WHY SHINY?

  • You can leverage the work you have already done in R to accomplish something you would normally need to learn JavaScript, Ruby, Python, PHP, or something else to accomplish
  • The same way that you would create a visualization for an rmarkdown report can be repurposed for another medium
    • This is especially true of flexdashboard, which you should always use in the event a shiny application is unnecessarily adding complexity to your work! (we'll talk about this more later)

FEEDBACK LOOP?

  • I'm talking about the ways in which your user clicks and explores your dashboard's user interface (UI)
  • Which then triggers code in your server code to run
  • Which then returns output back to your input
  • So your user can get what they need