Introduzione a Shiny

Creare applicazioni web con Shiny in R

Ramnath Vaidyanathan

VP of Product Research

Introduzione a Shiny

App Shiny con i tempi di attesa dell'eruzione di Old Faithful, con numero di barre dell'istogramma regolabile in modo interattivo

Creare applicazioni web con Shiny in R

Cos'è un'app web?

  • Si aggiorna con input/interazioni dell'utente
  • Composta da UI e server
Creare applicazioni web con Shiny in R

Cos'è un'app web?

Gif dell'app web del NY Times "Paths to the White House"

  • Mostra i percorsi verso la Casa Bianca per vari candidati presidenziali.
Creare applicazioni web con Shiny in R

Cos'è un'app web?

  • App mobile DataCamp

Gif dell'app mobile di DataCamp con un esempio di domanda di pratica.

Creare applicazioni web con Shiny in R

Come funziona un'app web?

Un'app web si aggiorna in base all'input/interazione dell'utente Diagramma che mostra come client e server sono collegati per alimentare le app web su internet

Creare applicazioni web con Shiny in R

Cos'è Shiny?

Diagramma di Shiny che mostra come il codice server e l'interfaccia UI siano separati ma lavorino insieme per creare un'app

Creare applicazioni web con Shiny in R

Perché i data scientist dovrebbero creare app web?

Dataset iris raggruppato per sepal.length e sepal.width, con 3 cluster distinti

Creare applicazioni web con Shiny in R

Perché i data scientist dovrebbero creare app web?

plot_kmeans(
  data = iris, 
  x = 'Sepal.Length', 
  y = 'Sepal.Width', 
  nb_clusters = 3
)

Dataset iris raggruppato per sepal.length e sepal.width, con 3 cluster distinti

Creare applicazioni web con Shiny in R

Perché i data scientist dovrebbero creare app web?

library(shiny)
ui <- fluidPage(
  h1('K-Means Clustering App'),
  selectInput('x', 'Select x', names(iris), 'Sepal.Length'),
  selectInput('y', 'Select y', names(iris), 'Sepal.Width'),
  numericInput('nb_clusters', 'Select number of clusters', 3),
  plotly::plotlyOutput('kmeans_plot')
)

server <- function(input, output, session){
  output$kmeans_plot <- plotly::renderPlotly({
    plot_kmeans(iris, input$x, input$y, input$nb_clusters)
  })
}

shinyApp(ui = ui, server = server)
Creare applicazioni web con Shiny in R

Perché i data scientist dovrebbero creare app web?

App web che esegue il K-means sul dataset Iris

Creare applicazioni web con Shiny in R

Ayo berlatih!

Creare applicazioni web con Shiny in R

Preparing Video For Download...