開始使用 shinyApps

使用 shinydashboard 建立儀表板

Png Kee Seng

Researcher

為什麼要建立儀表板?

  • 報告是靜態的
  • 儀表板則是動態的
  • 提供使用者更沉浸的體驗
  • shinydashboard 讓你能以直覺方式在 R 建立儀表板

一張報告的素材圖,為靜態——提供情況的快照。

1 來源:WikiMedia
使用 shinydashboard 建立儀表板

shinydashboard 範例

一個 shinydashboard 範例。可以看到可加入許多互動元件。

使用 shinydashboard 建立儀表板

shinyApp

  • shinydashboard 是一種 shinyApp
  • 有兩個主要元件:
    • 使用者介面(UI)
    • 伺服器(server)

RStudio 的 shiny 應用程式範例

使用 shinydashboard 建立儀表板

餐廳類比

  • shiny 應用就像餐廳
  • shinyApp 的使用者像是顧客
  • 使用者介面包含輸出與輸入
    • _輸出_ 像端出的菜餚
    • _輸入_ 像點餐
  • 服務生把點單交給廚房並把餐點端來
    • 伺服器依使用者輸入告訴應用要產生哪些輸出

shinyApp 的使用者就像餐廳的顧客。

服務生把點單交給廚房,並把餐點端給我們。

1 Image by macrovector on Freepik
使用 shinydashboard 建立儀表板

使用者介面(UI)

  • 載入 shiny
  • 使用者介面(ui):fluidPage()
  • 在 UI 中加入應用元件
    • 例如用 titlePanel() 設定標題
  • 伺服器:使用者自訂函式 server()
  • shinyApp() 將兩者組合並渲染應用
library(shiny)
ui <- fluidPage(titlePanel("Your first app"))
server <- function(input, output){
}
shinyApp(ui, server)
使用 shinydashboard 建立儀表板

渲染後的 shinyApp

由前一張投影片程式碼渲染出的 shinyApp。可以看到是沒有輸入與輸出的空白應用。

使用 shinydashboard 建立儀表板

一起來練習吧!

使用 shinydashboard 建立儀表板

Preparing Video For Download...