Ways to Build Rich Web-Enabled Analytics Tools without HTML Expertise
I recently discussed options for web-based analytics with colleagues at a major medical school. The team maintains, analyzes and deploys reports from a database of patient reported outcomes. The team is actively developing new data tools to help hospitals and surgical groups gain insight from the patient data.
Here are the main points I presented.
Two tools, R and Shiny, make it easy to deploy interactive data displays to the web, producing elaborate publication quality graphics with effort and practice.
R, an open-source statistical computing and graphics software, is widely used by analysts and scholars. A Google Scholar search last month reveals R to be among the top 5 statistics packages cited in scholarly articles. For more information about R’s popularity, take a look at this recent blog summary.
On the R project site there’s a clear description of R: “R is an integrated suite of software facilities for data manipulation, calculation and graphical display. It includes:
- an effective data handling and storage facility,
- a suite of operators for calculations on arrays, in particular matrices,
- a large, coherent, integrated collection of intermediate tools for data analysis,
- graphical facilities for data analysis and display either on‐screen or on hard copy
- a well‐developed, simple and effective programming language which includes conditionals, loops, user-defined recursive functions and input and output facilities.“
Shiny is a package that creates interactive web applications around your R analyses. While no HTML/CSS/Javascript knowledge is required, Shiny is fully customizable and extensible with these languages. It also uses a reactive programming model, allowing for simpler code than traditional UI or web programming. Detailed learning and reference materials are available online.
You can also take a gallery tour of the ways Shiny works.
I have two Shiny applications under current development:
- An energy management interface for hospitals in Wisconsin, working with developer Mason DeCallillis. We have deployed this app on an Amazon Web Services virtual server.
- A data checking tool to enable a client to clean a dirty data set. The tool allows the client to quickly plot and examine a data table in a logical way as she reviews more than 100 variables. We have deployed this password-protected app on the ShinyApps.io server, maintained by RStudio.