User Interfaces with Shiny

15th October 2014

Shiny is a tool which is provided by the makers of RStudio to enable the creation of dynamic user interfaces to the R programming language.  It includes a rich collection of widgets which the app creator can choose from to allow people with no coding experience to easily use an R program.  If you don’t want to use the standard widgets Shiny also allows you to embed HTML or Javascript in the app, creating a fully customised UI for your R code.

There are two main parts to a Shiny app, the UI and the server.  The server is the portion of the code which deals with the back-end of the application and is where the reactivity of the application can be controlled.  In the UI section the interface is defined for the user by combining widgets to allow the user to control the server.  These two sections communicate through input and output variables; the user controls the input variables through control widgets, and the server creates the output variables which are rendered in the UI.

Once your app is complete you can share it using the source files or upload it to GitHub.  Alternatively you can host the application as a webpage using or on your own server using Shiny Server, which means people can use your app without having to touch R.  Shiny is available at

Share This

Tweet this!   Share on LinkedIn   Share on Facebook

Leave a Reply

Your email address will not be published. Required fields are marked *