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)
由四部分组成:导包、ui
、server
、以及shinyApp
。
其中ui
用于网页的ui设计,server
用于背后的数据分析,shinyApp
用于搭建shiny应用。
那么该如何创建shiny文件呢?
新建脚本文件,完成代码后保存文件,脚本文件会自动识别出这是一个shiny应用,此时你的工具栏中的
Run
按钮会变为Run App
File -> New File -> Shiny Web App
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应用窗口时,方可停止。在停止之前,你不能在控制台中执行任何新命令。