keep के साथ अपना डेटा साफ करें
इस कोर्स की शुरुआत से, हम एक हफ्ते लंबे A/B टेस्ट के नतीजों का उपयोग कर रहे हैं.
हमने ये नतीजे all_visits नाम की एक लिस्ट में रखे हैं. इस लिस्ट में visit_a, visit_b, और visit_c हैं. ये वेक्टर अननेम्ड हैं. सभी में सात नंबर हैं, हफ्ते के हर दिन के लिए एक.
पहला सवाल यह है: किन दिनों में औसतन प्रति घंटे 100 से ज्यादा विज़िट्स हुईं? इसके लिए हम keep() फंक्शन का उपयोग करेंगे. लेकिन अननेम्ड वेक्टर के साथ जवाब पठनीय नहीं होगा: आपके पास नंबर तो होंगे, पर यह नहीं पता चलेगा कि वे किस दिन से संबंधित हैं.
अच्छी खबर यह है: आप set_names() फंक्शन से यह समस्या सुलझा सकते हैं. इस अध्याय में हम यही करेंगे: पहले अननेम्ड वेक्टर पर keep() का उपयोग करेंगे, फिर नेम्ड वेक्टर पर.
यह अभ्यास पाठ्यक्रम का हिस्सा है
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr
अभ्यास निर्देश
- एक mapper बनाइए जो जाँचे कि
.x100 से अधिक है या नहीं. आप इसे दो बार उपयोग करेंगे. - इस mapper को
keep()के साथ मिलाकर अननेम्ड लिस्टall_visitपर map कीजिए. परिणाम अननेम्ड होने के कारण, आपको नहीं पता चलेगा कि आपने किन दिनों को रखा है. - हमने जो नामों का वेक्टर दिया है, उसका उपयोग करते हुए
map()औरset_names()फंक्शनों को मिलाकर प्रत्येक वेक्टर को नाम दीजिए. - नई नेम्ड लिस्ट पर पहले बनाया हुआ mapper map कीजिए. जैसा कि आप देख सकते हैं, अब आउटपुट ज्यादा पढ़ने योग्य है!
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create a mapper that test if .x is more than 100
is_more_than_hundred <- ___(~ .x > 100)
# Use this mapper with keep() on the all_visits object
map(all_visits, ~ ___(.x, is_more_than_hundred))
# Use the day vector to set names to all_list
day <- c("mon", "tue", "wed", "thu", "fri", "sat", "sun")
full_visits_named <- map(all_visits, ~ ___(.x, ___))
# Use this mapper with keep()
map(full_visits_named, ~ ___(.x, ___))