shinydashboard の構成要素

shinydashboard で作るダッシュボード

Png Kee Seng

Researcher

shinydashboard とは?

  • shinydashboard はダッシュボード出力を持つ shinyApp の一種
    • UI が必要
    • server が必要
  • UI と server を結ぶには shinyApp() も必要
  • UI は fluidPage() ではなく dashboardPage() で定義
ui <- dashboardPage(header, sidebar, body)
server <- function(input, output){
...
}
shinyApp(ui, server)
shinydashboard で作るダッシュボード

ユーザーインターフェース(UI)

  • UI には次の要素があります
    1. ヘッダー
    2. サイドバー
    3. 本文
  • shinydashboard の UI は dashboardPage() で組み立てます
header <- dashboardHeader(...)
sidebar <- dashboardSidebar(...)
body <- dashboardBody(...)
# shinydashboard の UI
ui <- dashboardPage(header, sidebar, body)
shinydashboard で作るダッシュボード

UI のプレビュー

shinydashboard UI の構成要素の分解図。

shinydashboard で作るダッシュボード

レストランのたとえを再確認

  • UI はレストランに相当
  • server は給仕に相当
  • とくに UI はさらに小さな部品に分解できる

shinyApp のユーザーはレストランの客のようなもの。

給仕が注文を厨房に伝え、料理を運ぶ。

1 Image by macrovector on Freepik
shinydashboard で作るダッシュボード

マルチコース料理としての UI

  • UI 内:
    • ヘッダーは看板のようなもの
    • サイドバーは講座一覧のようなもの
    • 出力と入力は料理と注文のようなもの
  • 1 度に 1 講座を表示
  • 各講座に指示がある
  • 各講座は shinyApp のようなもの
    • 複数の入力・出力を持てる

各講座は複数の入力と出力を持つ shinyApp のようなもの。

1 Image by brgfx on Freepik
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 で作るダッシュボード

練習しましょう!

shinydashboard で作るダッシュボード

Preparing Video For Download...