Giới thiệu về Shiny

Xây dựng ứng dụng web với Shiny trong R

Ramnath Vaidyanathan

VP of Product Research

Giới thiệu về Shiny

Ứng dụng Shiny về thời gian chờ mạch nước phun Old Faithful, số bin của biểu đồ histogram có thể điều chỉnh tương tác

Xây dựng ứng dụng web với Shiny trong R

Web app là gì?

  • Cập nhật theo thao tác/nhập liệu của người dùng
  • Gồm UI và server
Xây dựng ứng dụng web với Shiny trong R

Web app là gì?

GIF “Paths to the White House” của NY Times

  • Hiển thị các lộ trình vào Nhà Trắng cho các ứng viên tổng thống.
Xây dựng ứng dụng web với Shiny trong R

Web app là gì?

  • Ứng dụng di động DataCamp

GIF ứng dụng di động DataCamp, hiển thị ví dụ câu hỏi luyện tập.

Xây dựng ứng dụng web với Shiny trong R

Web app hoạt động thế nào?

Một web app là ứng dụng cập nhật theo thao tác/nhập liệu của người dùng Sơ đồ cho thấy cách client và server kết nối để vận hành web app trên internet

Xây dựng ứng dụng web với Shiny trong R

Shiny là gì?

Sơ đồ “Shiny là gì”, cho thấy mã server và giao diện UI tách biệt nhưng phối hợp để tạo ứng dụng

Xây dựng ứng dụng web với Shiny trong R

Vì sao nhà khoa học dữ liệu nên xây web app?

Bộ dữ liệu Iris được gom cụm theo sepal.length và sepal.width, tạo 3 cụm khác biệt

Xây dựng ứng dụng web với Shiny trong R

Vì sao nhà khoa học dữ liệu nên xây web app?

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

Bộ dữ liệu Iris được gom cụm theo sepal.length và sepal.width, tạo 3 cụm khác biệt

Xây dựng ứng dụng web với Shiny trong R

Vì sao nhà khoa học dữ liệu nên xây web app?

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)
Xây dựng ứng dụng web với Shiny trong R

Vì sao nhà khoa học dữ liệu nên xây web app?

Web app thực hiện gom cụm K-means cho bộ dữ liệu Iris

Xây dựng ứng dụng web với Shiny trong R

Hãy thực hành!

Xây dựng ứng dụng web với Shiny trong R

Preparing Video For Download...