Компоненты shinydashboard

Создание дашбордов с помощью shinydashboard

Png Kee Seng

Researcher

Что такое shinydashboard?

  • shinydashboard — это shinyApp с выводом в виде панели мониторинга
    • Требуется UI
    • Требуется сервер
  • shinyApp() связывает UI и сервер
  • UI задаётся через dashboardPage(), а не fluidPage()
ui <- dashboardPage(header, sidebar, body)
server <- function(input, output){
...
}
shinyApp(ui, server)
Создание дашбордов с помощью shinydashboard

Пользовательский интерфейс (UI)

  • UI теперь состоит из нескольких частей
    1. Заголовок
    2. Боковая панель
    3. Тело
  • UI shinydashboard собирается с помощью dashboardPage()
header <- dashboardHeader(...)
sidebar <- dashboardSidebar(...)
body <- dashboardBody(...)
# a shinydashboard ui
ui <- dashboardPage(header, sidebar, body)
Создание дашбордов с помощью shinydashboard

Предпросмотр UI

Схема компонентов UI в shinydashboard.

Создание дашбордов с помощью shinydashboard

Аналогия с рестораном

  • UI — это ресторан
  • Сервер — это официант
  • UI можно разбить на более мелкие компоненты

Пользователь shinyApp — как посетитель ресторана.

Официант передаёт заказ на кухню и приносит блюда.

1 Изображение: macrovector на Freepik
Создание дашбордов с помощью shinydashboard

UI как многоблюдный обед

  • В UI:
    • Заголовок — это вывеска
    • Боковая панель — это меню курсов
    • Выходные и входные данные — это блюда и заказы
  • Одновременно отображается один раздел
  • Для каждого раздела есть инструкции
  • Каждый раздел — как отдельный shinyApp
    • Допускается несколько наборов входных и выходных данных

Каждый раздел — как shinyApp с несколькими входными и выходными данными.

1 Изображение: brgfx на 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...