एक पैरेलल फ़िल्टर
आप संयुक्त राष्ट्र के लिए एक डेटा कंसल्टेंट के रूप में काम कर रहे हैं, और वे वैश्विक स्तर पर आर्ट्स छात्रों का सर्वे करना चाहते हैं. उन्होंने उन विश्वविद्यालयों का एक डेटासेट जुटाया है जिनमें आर्ट्स और ह्यूमैनिटीज़ विभाग हैं. उन्होंने सर्वे के लिए हर देश में शीर्ष आर्ट्स विश्वविद्यालयों को चुनने का निर्णय लिया है.
uni_list डेटा फ़्रेम्स की एक सूची है, जिसका हर एलिमेंट किसी एक देश का डेटा है. हर डेटा फ़्रेम में total_score नाम का एक कॉलम है. आपके लिए निम्न फंक्शन उपलब्ध है:
filter_df <- function (df, select_n_unis) {
df %>%
top_n(select_n_unis, total_score)
}
यह फंक्शन dplyr पर निर्भर है. select_n_unis आर्ग्युमेंट यह तय करता है कि शीर्ष कितने विश्वविद्यालय चुनने हैं. आपसे कहा गया है कि हर CSV फ़ाइल से शीर्ष पाँच विश्वविद्यालयों को पैरेलल में फ़िल्टर करें. parallel पैकेज आपके लिए लोड किया गया है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में पैरेलल प्रोग्रामिंग
अभ्यास निर्देश
- क्लस्टर
clके हर कोर परdplyrलोड करें. - वैरिएबल
n_unisको क्लस्टरclपर एक्सपोर्ट करें. parLapply()का उपयोग करकेuni_listके हर एलिमेंट परfilter_df()अप्लाई करें.- चुनने वाले विश्वविद्यालयों की संख्या
n_unisकोfilter_df()के सही आर्ग्युमेंट में सप्लाई करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
cl <- makeCluster(4)
# Load dplyr in cluster
___
n_unis <- 5
# Export n_unis to cluster
___(___, ___, envir = environment())
# Apply filter_df() to each element of uni_list
ls_df <- parLapply(___, ___, ___,
# Supply number of universities to select
___ = ___)
stopCluster(cl)