shinydashboard 的组成

使用 shinydashboard 构建仪表板

Png Kee Seng

Researcher

什么是 shinydashboard?

  • shinydashboard 本质上是带仪表板输出的 shinyApp
    • 需要 UI
    • 需要 server
  • 还需 shinyApp() 将 UI 与 server 连接
  • 注意 UI 用 dashboardPage() 定义,而非 fluidPage()
ui <- dashboardPage(header, sidebar, body)
server <- function(input, output){
...
}
shinyApp(ui, server)
使用 shinydashboard 构建仪表板

用户界面(UI)

  • UI 现包含更多部分
    1. 头部
    2. 侧边栏
    3. 主体
  • 使用 dashboardPage() 组装 shinydashboard 的 UI
header <- dashboardHeader(...)
sidebar <- dashboardSidebar(...)
body <- dashboardBody(...)
# shinydashboard 的 UI
ui <- dashboardPage(header, sidebar, body)
使用 shinydashboard 构建仪表板

UI 预览

shinydashboard UI 组件拆解。

使用 shinydashboard 构建仪表板

重温餐厅类比

  • UI 像餐厅
  • server 像服务员
  • 尤其是,UI 还能进一步拆分为更小组件

shinyApp 的用户就像餐厅的顾客。

服务员将点单传给后厨并把菜端上来。

1 图片来源:Freepik 的 macrovector
使用 shinydashboard 构建仪表板

将 UI 比作套餐

  • 在 UI 中:
    • 头部就像招牌
    • 侧边栏像课程清单
    • 输出和输入像菜品与点单
  • 一次只呈现一道"课程"
  • 每道"课程"都有说明
  • 每道"课程"就像一个 shinyApp
    • 可有多组输入与输出

每道"课程"就像一个包含多组输入和输出的 shinyApp。

1 图片来源:Freepik 的 brgfx
使用 shinydashboard 构建仪表板

一个空的 shinydashboard

library(shinydashboard)
library(shiny)
header <- dashboardHeader(title = "My first dashboard")
sidebar <- dashboardSidebar()
body <- dashboardBody()
ui <- dashboardPage(header, sidebar, body)
使用 shinydashboard 构建仪表板

渲染 shinydashboard

header <- dashboardHeader(title = "My first dashboard")

sidebar <- dashboardSidebar()

body <- dashboardBody()

ui <- dashboardPage(header, sidebar, body)

server <- function(input, output) { }
shinyApp(ui, server)
使用 shinydashboard 构建仪表板

渲染 shinydashboard

一个空的 shinydashboard

使用 shinydashboard 构建仪表板

¡Vamos a practicar!

使用 shinydashboard 构建仪表板

Preparing Video For Download...