R Shiny Dashboard for Data Analytics

R Shiny Dashboard for Data Analytics


Shiny is a web application framework for R, mainly to unlock the extreme statistical and most recently machine learning power of R directly into a web application for data visualization.

Nowadays there are so many ways to create interactive data visualization dashboard or reports using either open source software or licensed products such as Microsoft Power BI, Tableau etc. We think the R Shiny approach is a perfect solution for IT automation, data analytics and machine learning model building.

Before R Shiny, we use a common three tier architecture to design our IT automation console.  The bottom tier is the data tier, mainly your data repository/store feeding live data to the console.  Middle tier is the business logic tier handles most the application/reporting requirements.  The top tier is the presentation tier mainly the web graphic interface. 

A full stack development skill set is needed to implement the whole console. Otherwise you will need data scientists build model, DBAs/developers write queries, then work with BI application team to fulfill functional requirements and finally work with web development team to generate the data visualization on the web console.

This is basically how our first-generation IT automation reporting console works.  Since we do have full stack development skill set in the team, there is minimal loss in the different stages of the communication. However, because there are multiple data sources to feed the console, most of aggregation type queries needs to be tuned so that query results could be sent back to the console in a timely fashion.

No alt text provided for this image
No alt text provided for this image

R Shiny dashboard lets IT automation team with R skill sets generate interactive data visualization directly.  The direct bridge between data model and visualization gives data scientists more productive iterations for model tuning, the interactive data experience with no need to have web development skill also speeds up delivery. Under most circumstances, it effectively eliminates the need to have a separate BI tier tool to fulfill application business logic, especially when you have a more centralized data repository.

The extensive package library available in R at the same time simplifies your code. The R shiny application framework itself provides the simple templates for most basic data visualization needs. The ability to generate interactive data visualization quickly from your data model is invaluable for any data analytics team.  

No alt text provided for this image
No alt text provided for this image
No alt text provided for this image

We utilized ggplot2 library extensively to quickly generate charts to analyze the input data frame. Quick visualization of the input data set quality gives you an idea about missing data values, effective data ranges etc before you feed the data sets to training model.

Shiny dashboard also provides some customization ability with HTML, CSS and Java Script. We could use this customization add-on to change default chart display behavior, add pointer data annotation etc.

No alt text provided for this image

However, we need to keep in mind, R Shiny is good for prototyping. Comparing with some of the licensed product offerings, this approach does has its limitations.

One of the major drawbacks is lack of security control. In our old version of console, we provide default view ability to most of the IT teams and some business users, while control the configuration and write type activities, reserve those activities to IT automation and data analytics team only. At this time, we do not have granular security settings on our new Shiny R dashboard.

For a multinational corporation, language localization is another potential issue we faced to have the new dashboard available to all office locations. The R Shiny approach lacks the ability to display contents in multiple languages.

Finally, the code structure using single app.R or two files server.R and ui.R setup though looks clean at the beginning, when your app grows, it is difficult to maintain. At certain point, you may need to package the Shiny application to be able to scale. 

On the infrastructure and maintenance side, the R package dependency is something that we had multiple problems when your Linux server get patched.

Overall, the R Shiny dashboard provides us with a new quick prototyping data analytics tools. Maybe not a full functional solution like Microsoft power BI or Tableau etc. Its quick interactive nature will make it a perfect open source tools for any data analytics team with a R skill set.

 










To view or add a comment, sign in

More articles by Key Lu

  • IT Automation, Design a Data Repository

    Why an automation data repository is needed ? Traditionally, organizations have taken an elemental or piecemeal…

    2 Comments
  • IT Automation, Build a framework

    Platform Request -- A Real World Example Instead of starting with why an IT automation framework is needed, we will…

  • IT Automation, Tools and Talents

    Govern IT automation tools All IT automation implementation relies on various automation tools. Those tools are the…

    1 Comment
  • IT Automation, Where to start

    What Drives IT automation More companies are adopting an agile development and DevOps mentality of having a dedicated…

Explore content categories