shinydashboard में इंटरएक्टिव एलिमेंट्स

shinydashboard के साथ डैशबोर्ड बनाना

Png Kee Seng

Researcher

परिदृश्य

  • हम लंदन की एक टूर एजेंसी में काम करते हैं.

  • टूरिस्ट्स को रहने की जगह चाहिए.

  • हम उनकी कैसे मदद करें?

लंदन का एक ग्राफिक

  • एक प्राइस रेंज में लिस्टिंग्स की संख्या
  • प्राइवेट रूम्स का अनुपात
  • औसत कीमतें
  • कुछ चार्ट्स
  • एक डेटा टेबल
  • लंदन का एक मैप
1 Image by Freepik
shinydashboard के साथ डैशबोर्ड बनाना

डैशबोर्ड का स्केच

डैशबोर्ड का एक रफ़ स्केच.

shinydashboard के साथ डैशबोर्ड बनाना

डैशबोर्ड बनाना: फ़्रेम सेट करना

खाली shinydashboard सेट कर के वायरफ्रेमिंग करें: टाइटल और साइडबार बटन जोड़ें.

header <- dashboardHeader(
  title = "Home rental listings")
sidebar <- dashboardSidebar()
body <- dashboardBody()
ui <- dashboardPage(header, 
                    sidebar, 
                    body)
server <- function(input, output) {}
shinyApp(ui, server)
shinydashboard के साथ डैशबोर्ड बनाना

डैशबोर्ड बनाना: ValueBox जोड़ना

हमारी वायरफ्रेमिंग में valueBoxes जोड़ना.

body में:

fluidRow(
    valueBoxOutput(outputId = "count"),
    valueBoxOutput(outputId = "prop"),
    valueBoxOutput(outputId = "avg"))

server में:

output$count <- renderValueBox({
    valueBox(..., icon = ...)})
output$prop <- renderValueBox(...)
...
shinydashboard के साथ डैशबोर्ड बनाना

डैशबोर्ड बनाना: कंट्रोल्स जोड़ना

इनपुट जोड़ना — यूज़र कंट्रोल्स.

body में:

box(
    side = "right", ...,
    sliderInput(inputId = "range",
        label = "Select price range:",
        min = 0,
        max = 25000,
        value = c(0,25000))
        ))

server अपडेट करें, input$range[1] और input$range[2] का उपयोग करें

shinydashboard के साथ डैशबोर्ड बनाना

डैशबोर्ड बनाना: इंटरएक्टिव प्लॉट्स जोड़ना

plotly से इंटरएक्टिव प्लॉट जोड़ना.

body में:

plotlyOutput("plots", 
    height = 500, 
    width = 600)

server में:

output$plots <- renderPlotly({
      ...
  })
shinydashboard के साथ डैशबोर्ड बनाना

डैशबोर्ड बनाना: एक और प्लॉट जोड़ना

उसी डैशबोर्ड पेज में दूसरा प्लॉट जोड़ना, जिसे ड्रॉपडाउन से एक्सेस करें.

body में:

selectInput(inputId = "select", 
    label = "Select group:", 
    choices = c("Neighbourhood", 
            "Room Type"))

server में:

output$plots <- renderPlotly({
    if (input$select == ...){plot1}
    else if(input$select == ...){plot2}
  })
shinydashboard के साथ डैशबोर्ड बनाना

डैशबोर्ड बनाना: विवरण और टैब्स जोड़ना

डैशबोर्ड के लिए समझाने वाला अतिरिक्त टेक्स्ट जोड़ना.

body में:

box(side = "right", ...,
    title = "Welcome to London!", 
    "...")

body में अपडेट:

tabBox(id = "tabset", ...,
    tabPanel("Charts", ...),
    tabPanel("Data table", ...)
shinydashboard के साथ डैशबोर्ड बनाना

डैशबोर्ड बनाना: इंटरएक्टिव टेबल्स जोड़ना

dataTable फ़ंक्शंस से इंटरएक्टिव टेबल्स जोड़ना.

हम shiny फंक्शन का उपयोग कर सकते हैं.

body में:

dataTableOutput("table")

server में:

output$table <- 
    renderDataTable(listings)
shinydashboard के साथ डैशबोर्ड बनाना

डैशबोर्ड बनाना: इंटरएक्टिव मैप जोड़ना

डैशबोर्ड में एक leaflet मैप जोड़ना.

sidebar में:

sidebarMenu(
    menuItem("Charts", ...),
    menuItem("Map", ...))

body में:

leafletOutput("map",...)

server में:

output$map <- renderLeaflet(map)
shinydashboard के साथ डैशबोर्ड बनाना

अभ्यास करते हैं!

shinydashboard के साथ डैशबोर्ड बनाना

Preparing Video For Download...