शुरू करेंमुफ़्त में शुरू करें

कुछ हेल्पर फंक्शन बनाना

shinydashboard में आप कई एलिमेंट जोड़ सकते हैं. यूज़र इनपुट और डैशबोर्ड आउटपुट के बीच इंटरैक्शन सक्षम करने के लिए, आपको ये इंटरैक्शन सर्वर में रखे गए render फंक्शनों के भीतर परिभाषित करने होते हैं.

अगर इंटरैक्शन और आउटपुट ज़्यादा हों, तो कोड जल्दी ही भारी और उलझा हुआ लग सकता है. इस समस्या से निपटने का एक तरीका है कि आप shinydashboard एनवायरनमेंट के बाहर अपने खुद के हेल्पर फंक्शन बनाएँ.

आगे आप दो हेल्पर फंक्शन बनाएँगे:

  1. num_listings(): फ़िल्टर किए गए डेटा के आधार पर price रेंज के भीतर लिस्टिंग्स की संख्या लौटाता है.
  2. make_plots(): यूज़र की चयन के आधार पर बॉक्सप्लॉट या वायलिन प्लॉट बनाता है, और price रेंज के भीतर फ़िल्टर किए गए डेटा पर आधारित होता है.

listings लोड है, और sf, tidyverse तथा leaflet इम्पोर्ट किए गए हैं.

यह अभ्यास पाठ्यक्रम का हिस्सा है

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

पाठ्यक्रम देखें

अभ्यास निर्देश

  • listings को ऐसे फ़िल्टर करें कि वह आर्ग्युमेंट range की बाएँ और दाएँ सीमाओं के बीच सीमित रहे, जो shinyApp इनपुट का प्लेसहोल्डर है.
  • सही if-else कंडीशंस सेट करें ताकि जब choice "Box plots" से मैच करे तो बॉक्सप्लॉट ड्रॉ हों, और अगर "Violin plots" हो तो वायलिन प्लॉट बनें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

num_listings <- function(range){
  # Filter listings appropriately
  filter(listings, price >= ___, price <= ___) %>% nrow()
}
make_plots <- function(range, choice){
  filtered_listings <- filter(listings, price >= range[1], price <= range[2])
  # Set the correct if-else conditions
  if (choice == ___){
     filtered_listings %>%
      ggplot(aes(y = price, x = room_type)) + geom_boxplot() + theme_classic()
  }
  else if (___){
    filtered_listings %>%
      ggplot(aes(y = price, x = room_type)) + geom_violin() + theme_classic()
}}
कोड संपादित करें और चलाएँ