अपनी ऐप में स्ट्रक्चर जोड़ना
Shiny में लेआउट्स का उपयोग आपकी ऐप को स्ट्रक्चर देने के लिए किया जाता है, ताकि एलिमेंट्स को मनचाही जगहों पर रखा जा सके.
sidebarLayout() फंक्शन से बना साइडबार लेआउट एक बेसिक दो-कालम स्ट्रक्चर देता है: बाईं तरफ छोटा साइडबार और दाईं तरफ बड़ा मेन पैनल.
साइडबार लेआउट फंक्शन दो आर्ग्युमेंट लेता है: sidebarPanel() और mainPanel(). इन दोनों पैनलों में आप किसी भी तरह के टेक्स्ट/HTML एलिमेंट्स मिला सकते हैं, बिल्कुल वैसे ही जैसे आप इन्हें fluidPage() के अंदर मिला सकते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
केस स्टडीज़: R में Shiny के साथ वेब एप्लिकेशन बनाना
अभ्यास निर्देश
आपका काम मौजूदा ऐप में एक साइडबार लेआउट जोड़ना है, ताकि इनपुट्स बाएँ तरफ हों और आउटपुट्स मेन पैनल में दिखें. विशेष रूप से, आपको यह करना है:
- Shiny एप्लिकेशन के लिए UI परिभाषित करें.
- पेज में एक साइडबार लेआउट जोड़ें.
- लेआउट में एक साइडबार पैनल जोड़ें, और उसमें इनपुट्स और टेक्स्ट रखें.
- लेआउट में एक मेन पैनल जोड़ें, और उसमें प्लॉट और टेबल रखें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Load the shiny package
library(shiny)
# Define UI for the application
ui <- ___(
# Add a sidebar layout to the application
___(
# Add a sidebar panel around the text and inputs
___(
h4("Plot parameters"),
textInput("title", "Plot title", "Car speed vs distance to stop"),
numericInput("num", "Number of cars to show", 30, 1, nrow(cars)),
sliderInput("size", "Point size", 1, 5, 2, 0.5)
),
# Add a main panel around the plot and table
___(
plotOutput("plot"),
tableOutput("table")
)
)
)
# Define the server logic
server <- function(input, output) {
output$plot <- renderPlot({
plot(cars[1:input$num, ], main = input$title, cex = input$size)
})
output$table <- renderTable({
cars[1:input$num, ]
})
}
# Run the application
shinyApp(ui = ui, server = server)