This document provides an introduction to Shiny, an R-based web application framework for creating interactive visualizations. Shiny apps are coded using ui.R and server.R text files, which define the user interface and server logic respectively. The apps can then be run locally or hosted on RStudio's Shiny Server. Examples are given of interactive features like sliders and plots that can be built with Shiny. Hosting options through RStudio's beta Shiny Server are also briefly outlined.
Handwritten Text Recognition for manuscripts and early printed texts
A intro to (hosted) Shiny Apps
1. An Intro to (hosted) Shiny apps
...or where are all the bees now?
...or where are all the bees now?
daniel@dakoller.net - @dakoller
for R User Group Munich
http://de.slideshare.net/dakoller/r-intro-for-munich-google-io-extended
2. What is Shiny?
• It is a R-based web application
framework for interactive
visualizations.
• Started by the people behind
RStudio (but works w/o RStudio)
• Can run locally, can be deployed
on an own webserver or cn be
hosted by RStudio
3. Shiny Webapps are coded using textfiles
(preferably using RStudio): you need
• ui.R:
library(shiny)
# Define UI for application that plots random distributions
shinyUI(pageWithSidebar(
# Application title
headerPanel("Customer Segmenter"),
• server.R:
library(shiny)
library(datasets)
# We tweak the "am" field to have nicer factor labels. Since
this doesn't
# rely on any user inputs we can do this once at startup and
then use the
# value throughout the lifetime of the application
mpgData <- mtcars
mpgData$am <- factor(mpgData$am, labels = c("Automatic",
"Manual"))
# Define server logic required to plot various variables
against mpg
shinyServer(function(input, output) {
...
# Return the formula text for printing as a caption
output$caption <- renderText({
formulaText()
})
# Generate a plot of the requested variable against mpg and
only
# include outliers if requested
output$mpgPlot <- renderPlot({
boxplot(as.formula(formulaText()),
5. Shiny Showcase „Bee swarms in the wild“
http://glimmer.rstudio.com/dakoller/happyBees/
6. What can you do inside Shiny?
• Use HTML form elements for interaction:
• Sliders, Tabs, NumericInput, Select Boxes, Check Boxes
• Replace Shiny-UI with an HTML5-template (default is bootstrap-like)
• Upload files (for calculation)
• Prepare data extracts of the report for download
• Shiny can show any R output, even usage of advanced components such as
RGoogleViz or ggplot2 is possible.
7. Shiny hosting by RStudio
• Available in Beta-Mode
• Editing via browser-enabled RStudio ( http://glimmer.rstudio.com:8787/ )
• Immediate update after ,source‘
• Special care needed when data sources show fast changing information! (or
are to be updated for every run)
• Register at https://rstudio.wufoo.com/forms/shiny-server-beta-program/ in
case you are interested!
8. Resources
• Shiny, R web app framework for interactive apps:
http://www.rstudio.com/shiny/