5.1 初始Shiny

下面是一段demo。

library(shiny)
ui <- fluidPage(
  selectInput("dataset", label = "Dataset", choices = ls("package:datasets")),
  verbatimTextOutput("summary"),
  tableOutput("table")
)
server <- function(input, output, session) {
  # Create a reactive expression
  dataset <- reactive({
    get(input$dataset, "package:datasets")
  })

  output$summary <- renderPrint({
    # Use a reactive expression by calling it like a function
    summary(dataset())
  })
  
  output$table <- renderTable({
    dataset()
  })
}
shinyApp(ui, server)

由四部分组成:导包、uiserver、以及shinyApp

其中ui用于网页的ui设计,server用于背后的数据分析,shinyApp用于搭建shiny应用。

那么该如何创建shiny文件呢?

  1. 新建脚本文件,完成代码后保存文件,脚本文件会自动识别出这是一个shiny应用,此时你的工具栏中的Run按钮会变为Run App

  2. File -> New File -> Shiny Web App

  3. File -> New Project -> New Directory -> Shiny Application

至此,你可点击Run App按钮运行文件,或者使用Ctrl+Shift+Enter运行。

注意到,当你运行shiny应用时会弹出一个窗口,并且控制台处会出现类似Listening on http://127.0.0.1:4674的反馈。你可以直接将该URL复制到你的网页浏览器中,这样别人也可以看到你的应用,当然前提是你的shiny应用仍在运行中

shiny应用是一直在运行的,你可以通过控制台右上角的红色停止按钮判断。当你点击该按钮,或者关闭shiny应用窗口时,方可停止。在停止之前,你不能在控制台中执行任何新命令。