Introdução ao Shiny

Construindo Aplicações Web com Shiny em R

Ramnath Vaidyanathan

VP of Product Research

Introdução ao Shiny

App Shiny da espera pelo gêiser Old Faithful, com número de bins do histograma ajustável interativamente

Construindo Aplicações Web com Shiny em R

O que é um app web?

  • Atualiza com base na entrada/interação do usuário
  • Composto por UI e server
Construindo Aplicações Web com Shiny em R

O que é um app web?

Gif do app web do NY Times "Paths to the White House"

  • Exibe caminhos para a Casa Branca para diferentes candidatos presidenciais.
Construindo Aplicações Web com Shiny em R

O que é um app web?

  • App móvel da DataCamp

Um gif do app móvel da DataCamp, mostrando um exemplo de questão de prática.

Construindo Aplicações Web com Shiny em R

Como um app web funciona?

Um app web é algo que atualiza com base na entrada/interação do usuário Diagrama mostrando como clientes e servidores se conectam para alimentar apps web na internet

Construindo Aplicações Web com Shiny em R

O que é Shiny?

Diagrama do que é Shiny, mostrando como o código do server e a interface UI são separados, mas trabalham juntos para criar um app

Construindo Aplicações Web com Shiny em R

Por que cientistas de dados devem criar apps web?

Conjunto de dados Iris agrupado por sepal.length e sepal.width, criando 3 grupos distintos

Construindo Aplicações Web com Shiny em R

Por que cientistas de dados devem criar apps web?

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

Conjunto de dados Iris agrupado por sepal.length e sepal.width, criando 3 grupos distintos

Construindo Aplicações Web com Shiny em R

Por que cientistas de dados devem criar apps 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)
Construindo Aplicações Web com Shiny em R

Por que cientistas de dados devem criar apps web?

App web que faz K-means no conjunto Iris

Construindo Aplicações Web com Shiny em R

Vamos praticar!

Construindo Aplicações Web com Shiny em R

Preparing Video For Download...