Вайрфреймінг
Повернімося до попереднього прикладу дашборду для результатів аналізу футбольного турніру. У попередніх вправах ви вже налаштували заголовок і бічну панель.
Зокрема, кнопку в бічній панелі задає menuItem(), а самі кнопки містяться всередині sidebarMenu(). Ви могли помітити, що наразі ці кнопки нічого не роблять. Тепер ви зв'яжете ці кнопки бічної панелі зі сторінками в тілі інтерфейсу. Це все ще етап вайрфреймінгу, коли ви визначаєте розташування кожного елемента. Кожна сторінка в тілі визначається за допомогою tabItem() і має бути вміщена в tabItems.
Пакети shiny та shinydashboard уже завантажено для вас. Крім того, заголовок дашборду вже збережено як header.
Ця вправа є частиною курсу
Створення панелей керування з shinydashboard
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
library(shiny)
library(shinydashboard)
header <- dashboardHeader(
title = "Analysis results for global soccer tournament",
titleWidth = 400,
dropdownMenu(type = "messages",
messageItem("Colleage", "Hello world!")),
dropdownMenu(type = "notifications",
notificationItem("Have you rested today?"),
taskItem("Dashboard completion", value = 20)))
sidebar <- dashboardSidebar(
sidebarMenu(
width = 400,
id = "pages",
menuItem("Match details", tabName = "matches", icon = icon("futbol"),
badgeLabel = "New content!", badgeColor = "green"),
menuItem("Overall results", tabName = "overall",
menuSubItem("Charts", tabName = "charts"),
menuSubItem("Data table", tabName = "datatable", icon=icon("file-excel"))),
menuItem("A slider", sliderInput("slider", "Number of goals", min=0, max=10, value = 2))
)
)
body <- dashboardBody(
# Link "matches" to an empty page in the body
___(
___(___, "Match information goes here")
)
)
ui <- dashboardPage(header, sidebar, body)
server <- function(input, output){}
shinyApp(ui, server)