How to Use shinyMatrix and plotly Graphs as Inputs in a Shiny App

Photo by Clayton Cardinalli on Unsplash

This is a guest post from Taylor Rodgers, Senior Data Scientist and project lead at PKGlobal. He’s written extensively on data science topics, including the book Data Work: A Jargon-Free Guide to Managing Successful Data Teams . His next book, R Programming in Plain English , is also available for free in beta.

For a walkthrough of this example, join us at the R in Manufacturing Meetup on Wednesday, September 29th at 12 ET. The recording will also be shared on YouTube following the event as well.


At PKGlobal, we had a manufacturing client that wanted a Shiny app for their engineers and plant workers. This Shiny app would allow their employees, none of whom are data scientists or machine learning experts, to use a machine learning algorithm with over 60 inputs to make a prediction. The prediction would allow them to use less material and significantly cut down on costs. (We’re talking tens of thousands of dollars a week!)

This posed a challenge though. How do you democratize an ML model to manufacturing workers with so many parameters?

The solution was a Shiny app with an intuitive interface. One that presented the parameters in roughly the same way they would see them on the factory floor and allowed them multiple options for how they inputed those values.

This project wound up using Shiny’s amazing strength and flexible functionality. Packages, such as shinyMatrix and plotly, provided the end-user the ability to determine their manufacturing inputs the way they wanted. Specific Shiny functions, such as observeEvent and reactive , ensured these methods could communicate with one another without the “wonkiness” that happens with less flexible tools, such as PowerBI or Tableau.

Ready the full article at

This is a companion discussion topic for the original entry at

This topic was automatically closed after 60 days. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.