Awesome
<div align="center"> <img width="500" height="350" src="media/awesome-rshiny-logo.svg" alt="Awesome"> </div>A curated list of resources for R Shiny. (Featured on Awesome-R)
Contents
- Resources
- General
- Community
- Deployment
- Tutorials
- Tools
- Packages
- Integrations
- People
- Books
- Galleries
- App Examples
- Contributors
Resources
General
Community
- Shiny Server Forum
- Stack Overflow Questions
- R-bloggers
- Google Group
- RStudio Community
- rOpenSci
- R-Shiny on Reddit
- RGov - Government network for R/Shiny
Deployment
Self Hosting
- Shiny Server - Back end software that builds a web server for shiny apps.
- RStudio Connect - Back end software for hosing shiny applications, Rmarkdown, plus other features for enterprise contexts.
- Shinyproxy - Uses containers for hosting shiny apps and a Java server control and proxy traffic to the app containers. How-to Blog.
- ShinyStudio - Builds on the Rocker project by including ShinyProxy to provide secured access to RStudio, VS Code, and Shiny.
Platform As A Service (PAAS)
- ShinyApps.io - Rstudio's PAAS specifically for hosting shiny apps.
- Heroku - General cloud application platform that can be utilised by shiny apps with these buildpack scripts.
Tutorials
- The R-Podcast
- Episode 15: Introduction to Shiny
- Episode 16: Interview with Dean Attali
- Episode 17: A simply Radiant Chat with Vincent Nijs
- Episode 18: Interviews with the R-Studio Team
- Episode 19: Talking Shiny at R-Studio Conf wiht Barabara Borges and Dean Attali
- Episode 21: Talking Rcpp and More with Dirk Eddelbuettel
- Episode 25: Interview with Ian Lyttle (Rstudio::Conf 2018
- Episode 27: Get The {Gt} Tables (Rstudio::Conf 2019)
- R-Studio (video)
- RStartHere
- Effective Reactive Programming – Part 1 & Part 2
- Coordinated multiple views (linked brushing)
- Building interactive tools for exploratory data analysis (gadgets)
- Improvements in deploying apps
- Modularizing Shiny app code
- Shiny UI
- Debugging Techniques
- Profiling and Performance
- Interfacing DataTables
- Complex application layouts with Grid Style Sheets
- Building Dashboards
- R-Studio (YouTube)
- R-Studio (Vimeo)
- DataCamp
- Dean Attali
- CRANalerts: Get email alerts when a CRAN package gets updated
- Blog Post: Building Shiny apps - an interactive tutorial
- Blog Post: Shiny tips & tricks for improving your apps and solving common problems
- Blog Post: How to get your very own RStudio Server and Shiny Server with DigitalOcean
- Blog Post: Mimicking a Google Form with a shiny app
- Blog post: Persistent data storage (and retrieval) in Shiny apps
- Blog post: How to set-up shiny server on Ubuntu 14.04
- Course: Stat545
- Advanced-Shiny
- Joe Cheng
- Alyssa Columbus
- Abhinav Agrawal (YouTube)
- AHmed HAsan (YouTube)
- Zev-Ross
- Cheat Sheet
- Delivering Data Science for the Enterprise with Shiny in Kubernetes
- Shiny Server on Docker: CentOS 7 Edition
- Use Docker to distribute and run Shiny apps
- Dockerizing a Shiny App
- Cookie based authentication with Shiny
- Speed Up Shiny Coding with Data
Tools
Packages
- R-Studio
- shinydashboard - Shiny Dashboarding framework.
- fontawesome - Easily insert FontAwesome icons into R Markdown docs and Shiny apps.
- shinythemes - Bootstrap themes for use with Shiny.
- miniUI - Provides UI widget and layout functions for writing Shiny apps that work well on small screens.
- dashboardthemes - An experimental R package to provide custom theme options for Shinydashboard applications.
- shinyAce - Integrate ace editor with shiny.
- shinyjs - Common JavaScript operations in shiny via R code.
- colourpicker - Colour picker widget that can be used in different contexts in R.
- ShinySky - Various UI widgets/components not part of Shiny e.g. alerts, styled buttons.
- radiant - Business analytics using R and Shiny.
- shinyTree - Enables Shiny application developers to use the jsTree library in their applications.
- shinystan - Provides visual and numerical summaries of model parameters and convergence diagnostics for MCMC simulations.
- shinyjqui - jQuery UI interactions and effects for shiny.
- bsplus - Shiny and R Markdown addons to Bootstrap 3.
- shinyFiles - Extends the functionality of shiny by providing an API for client side access to the server file system.
- shinyDND - Create Shiny drag and drop elements in R.
- shinyforms - Easily create questionnaire-type forms with Shiny.
- ECharts2Shiny - Insert interactive charts from ECharts into Shiny.
- shinyFeedback - Display user feedback along side Shiny inputs.
- shinycssloaders - Add CSS loader animations to Shiny outputs.
- directoryInput - Widget for interactive selection of directories.
- shinymaterial - Implements Google Material Design in Shiny Applications.
- shinysense - Series of Shiny modules to help Shiny sense the world around it.
- shinyWidgets - Extend input widgets available in Shiny.
- ggedit - A Shiny gadget for exploring ggplot objects.
- shinytest - Automated testing for shiny apps.
- timevis - Create interactive timeline visualizations in R.
- shinytoastr - Notifications in Shiny, via toastr.
- shiny.collections - Google Docs-like live collaboration in Shiny.
- RinteRface - A collection of HTML templates for Shiny.
- shiny.semantic - Semantic UI wrapper for Shiny.
- yonder - A reactive web framework built on shiny.
- shinycustomloader - Add a custom loader for R Shiny.
- shinybusy - Minimal busy indicator for Shiny apps.
- waiter - Loading screens for Shiny.
- shinyhelper - Add markdown help files to Shiny apps.
- shinyauthr - Server-side authentication using shiny modules.
- auth0 - Authentication in Shiny apps using Auth0 service.
- reactlog - Visual insight into a Shiny apps reactive graph.
- supreme - Structure Shiny applications developed with modules.
- shinymanager - Simple and secure authentication for single 'Shiny' applications using a SQLite database.
- polished - Authentication, user administration, and web hosting for secure Shiny apps & Rmarkdown documents (flexdashboards, HTML, & PDF).
- systemPipeShiny - Design/run biological or general data analysis workflows, and visualize downstream results.
- golem - Framework for building production-grade shiny applications.
- shinyTime - A timeInput widget for Shiny
- shinyalert - Easily create pretty popup messages (modals) in Shiny
- shinydisconnect - Show a nice message when a Shiny app disconnects or errors
- shinyscreenshot - Capture screenshots of entire pages or parts of pages in Shiny apps
- reactor - Unit testing for shiny reactivity
Integrations
- HTML Widgets/JavaScript
- Crosstalk - Extends htmlwidgets with functionality for implementing cross-widget interactions.
- DT - Provides a function
datatable()
to display R data via the DataTables JavaScript library. - leaflet - JavaScript library for creating dynamic maps that support panning and zooming along with various annotations like markers, polygons, and popups.
- leaflet.minicharts - Add and update small charts on an interactive leaflet maps.
- d3heatmap - Implements a D3 heatmap htmlwidget.
- dygraphs - R interface to the dygraphs JavaScript charting library. It provides rich facilites for charting time-series data in R.
- DiagrammeR - Tool for creating diagrams and flowcharts using Graphviz and Mermaid.
- MetricsGraphics - Enables easy creation of D3 scatterplots, line charts, and histograms.
- networkD3 - Graph data visualization with D3.
- rthreejs - 3D scatterplots and globes.
- rbokeh - Interface to Bokeh that provides a flexible, powerful, declarative framework for creating interactive plots.
- plotly - Easily translate your ggplot2 graphics to an interactive web-based version, and also provides bindings to the plotly.js graphing library.
- formattable - This package is designed for applying formatting on vectors and data frames to make data presentation easier, richer, more flexible and hopefully convey more information.
- manipulateWidget - Add More Interactivity to htmlWidgets.
- gglabeller - Gadget that enables selecting points on a ggplot to label.
- billboarder - Htmlwidget for billboard.js.
- highcharter - Flexible JavaScript charting libraries in shiny.
- rhandsontable - An htmlwidgets implementation of Handsontable.js.
- flextable - Easily create customizable tables
- echarts4r - Create interactive charts by leveraging Echarts.js library.
- rintrojs - Wrapper for the Intro.js library.
- slickR - Slick carousel htmlwidget for R.
- rclipboard - Clipboard.js for R/Shiny Applications.
- scatterD3 - Scatter plot htmlwidget based on D3.js.
- trelliscopejs - TrelliscopeJS R package.
- visNetwork - Network visualization for R using vis.js library.
- sigmajs - Fully-fledged wrapper for the sigma.js JavaScript library.
- excelR - An interface to jExcel.js library.
- flexdashboard - Easy interactive dashboards for R.
- Shiny in Rmarkdown - Run shiny apps in rmarkdown documents.
- ggvis - Make it easy to describe interactive web graphics in R.
- RInno - Install local shiny apps by providing an interface between R and Inno Setup, (Windows Only).
- googleVis - An interface between R and the Google's charts tools.
- pool - Abstract away the logic of connection management and the performance cost of fetching a new connection from a remote database.
People
- Dean Attali
- Joe Cheng
- Winston Chang
- Barbara Borges Ribeiro
- Ramnath Vaidyanathan
- Jeff Allen
- Vincent Nijs
- Sebastian Kranz
- David Granjon
Books
- Web Application and Development Using Shiny (2nd edition) - by Chris Beely
- Learing Shiny - by Hernán G. Resnizky
- (WIP) Mastering Shiny - by Hadley Wickham
- Engineering Production-grade Shiny Apps - by Colin Fay, Sébastien Rochette, Vincent Guyader, Cervan Girard
Galleries
- R-Studio
- Shiny User Showcase - Featured user Shiny apps.
- Shiny Gallery - Shiny apps and much more.
- Showmeshiny - Huge gallery of Shiny apps.
- Shiny Widgets - Experience statistics with apps designed for teaching and analysis.
- Html Widgets
- Html Widgets Showcase - Featured Html widgets.
- Html Widgets Gallery - User submitted Html widgets.
- R Graph Catalog - Complement to the book “Creating More Effective Graphs” by Naomi Robbins.
- Awesome Shiny Apps for Statistics - A curated list of awesome Shiny Apps for statistics.
App Examples
- R-Studio Examples
- Waze - Community based real-time traffic and navigation info.
- Astra Zeneca - Data science tools used to create medicines more efficiently.
- shiny-salesman - Traveling salesman app.
- Shiny GEM - GEM stands for ‘general exploratory methods’, as this app aims to simplify a variety of basic EDA tasks.
- shinyEd - Statistics education apps.
- STARTapp - Transcriptome Analysis Resource Tool.
- shiny-phyloseq - Provides a graphical user interface to the microbiome analysis package for R, called phyloseq.
- shiny-ampvis2 - Provides some basic functionality for using ampvis2 to visualize microbiome data.
- Google Analytics Dashboard - Demo on how to build your own Google Analytics dashboard with R, Shiny and MySQL.
- BallR - Uses the NBA Stats API to visualize every shot taken by a player during an NBA season dating back to 1996.
- GenMap-Comparator - Compare genetic maps with D3 & Shiny.
- MAVIS - MAVIS: Meta Analysis via Shiny.
- iTunes Reviews Analysis - iTunes App Store Reviews Text Extractor and Text Analysis Web App.
- NYT Bar Optimizer - Optimize your liquor cabinet using cocktail recipes from New York Times Cooking.
- Lights Out game - Lights Out is a puzzle game consisting of a grid of lights that are either on or off.
- Australian Tax Office:
- Workforce Demographics - View a range of workforce related demographics information across an organisation. Source Code.
- Bivariate Demographics - Examine how an organisation is performing on a range of demographic information. Source Code.
- Shiny Database App (CRUD) - An example of a CRUD shiny app with accompanying how-to post.
- taskviewr - Browse R packages by CRAN Task Views and license info.
- homebrewR - Explore and compare beer recipes.
- vinylSpotting - Visualize and explore Discogs record collections.
- polMonitor - Monitor police violence in the United States.
- OCRinShiny - OCR an image with the tesseract package.
- ExpressionDB - Host gene expression/ontology data with Shiny.
- Interactive PCA Explorer - Explore a PCA plots and data.
- contributr - Find beginner GitHub issues to contribute to.
- VisualPruner - Cohort selection in observational studies.
- Opioid Overdose Shiny App - Visualize opioid overdose data.
- Shiny App Spotify - Connect with spotify's API and generate personalized playlist recommendations through machine learning and data visualization.
- National Parks Weather - Visualize National Parks locations and weather using user input.
- html2r - Convert HTML to R.
- Anomaly Detection - Detect anomalies on univariate timeseries data using AnomalyDetection package.
- R Shiny User Management & Authentication - Demonstration of user management and authentication system in R Shiny.