life expectancy के आधार पर फ़िल्टर करें
Shiny का असली फ़ायदा तब मिलता है जब इनपुट्स को आउटपुट्स के साथ जोड़ा जाता है. पिछले अभ्यास में बनी टेबल स्थिर है—उसे बदला नहीं जा सकता—लेकिन एक्सप्लोरेशन के लिए बेहतर होगा कि यूज़र यह तय कर सके कि डेटा का कौन सा सबसेट देखना है.
यह एक ऐसा इनपुट जोड़कर किया जा सकता है जो यूज़र को डेटा फ़िल्टर करने के लिए कोई मान चुनने दे. इस तरह, पिछले अभ्यास में बनाई गई टेबल को डायनामिक बनाया जा सकता है.
gapminder डेटासेट में एक वैरिएबल lifeExp (life expectancy) है. आपका काम Shiny ऐप में एक स्लाइडर इनपुट जोड़ना है जो यूज़र को न्यूनतम और अधिकतम life expectancy चुनने दे, और टेबल केवल उन्हीं मानों से मेल खाते डेटा को दिखाए.
यह अभ्यास पाठ्यक्रम का हिस्सा है
केस स्टडीज़: R में Shiny के साथ वेब एप्लिकेशन बनाना
अभ्यास निर्देश
- UI में ID "life" के साथ एक स्लाइडर इनपुट जोड़ें, न्यूनतम मान 0, अधिकतम मान 120, और डिफ़ॉल्ट चयन 30-50 रखें.
- रेंडर फंक्शन के अंदर, इनपुट वैल्यू का उपयोग करके
gapminderडेटा को ऐसा सबसेट बनाइए जिसमें केवल वे रिकॉर्ड शामिल हों जिनकाlifeExpचुने गए न्यूनतम और अधिकतम मानों के बीच हो (दोनों सिरों सहित).
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
ui <- fluidPage(
h1("Gapminder"),
# Add a slider for life expectancy filter
___(inputId = ___, label = "Life expectancy",
min = ___, max = ___,
value = c(30, 50)),
tableOutput("table")
)
server <- function(input, output) {
output$table <- renderTable({
data <- gapminder
data <- subset(
data,
# Use the life expectancy input to filter the data
lifeExp >= ___life[1] & lifeExp <= ___life[2]
)
data
})
}
shinyApp(ui, server)