Shiny 入门

使用 R 构建 Shiny Web 应用

Ramnath Vaidyanathan

VP of Product Research

Shiny 入门

Shiny 网页应用:Old Faithful 间歇泉等待时间,直方图分箱可交互调整

使用 R 构建 Shiny Web 应用

什么是网页应用?

  • 随用户输入/交互而更新
  • 由 UI 与服务器组成
使用 R 构建 Shiny Web 应用

什么是网页应用?

纽约时报"通往白宫之路"网页应用动图

  • 展示不同总统候选人通往白宫的路径。
使用 R 构建 Shiny Web 应用

什么是网页应用?

  • DataCamp 移动应用

DataCamp 移动应用动图,展示一题练习示例。

使用 R 构建 Shiny Web 应用

网页应用如何工作?

网页应用会根据用户输入/交互更新 展示客户端与服务器如何连接以支持互联网网页应用的示意图

使用 R 构建 Shiny Web 应用

什么是 Shiny?

"什么是 Shiny"示意图,展示服务器代码与 UI 分离但协同构建应用

使用 R 构建 Shiny Web 应用

数据科学家为何要构建网页应用?

Iris 数据集按 sepal.length 与 sepal.width 聚类,形成 3 个簇

使用 R 构建 Shiny Web 应用

数据科学家为何要构建网页应用?

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

Iris 数据集按 sepal.length 与 sepal.width 聚类,形成 3 个簇

使用 R 构建 Shiny 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)
使用 R 构建 Shiny Web 应用

数据科学家为何要构建网页应用?

对 Iris 数据集进行 K-means 聚类的网页应用

使用 R 构建 Shiny Web 应用

让我们练习!

使用 R 构建 Shiny Web 应用

Preparing Video For Download...