मैं एक ऐसे कार्यालय में काम करता हूँ जहाँ SQL सर्वर डेटा प्रोसेसिंग से लेकर सफाई तक की हर चीज़ की रीढ़ है। मेरे सहकर्मी आने वाले डेटा को व्यवस्थित रूप से संसाधित करने के लिए जटिल कार्यों और संग्रहीत प्रक्रियाओं को लिखने में माहिर हैं ताकि इसे मानकीकृत किया जा सके और रिपोर्ट, विज़ुअलाइज़ेशन और एनालिटिक्स प्रोजेक्ट में काम किया जा सके। यहां शुरू करने से पहले, मुझे एसक्यूएल के साथ बहुत कम अनुभव था, जो कि सबसे बुनियादी प्रश्नों को लिखने से अलग था। मेरे विश्लेषण प्रस्तुत करने के काम का अधिकांश हिस्सा आर। में किया गया था। मेरे बॉस ने जोर देकर कहा कि मैं अपने एसक्यूएल कौशल में सुधार करता हूं, भले ही बहुत कम असाइनमेंट प्रतीत होते हैं जो कि अधिक कुशलता से नहीं हो सकते हैं और कोड का बहुत कम लाइनों के साथ आर का उपयोग कर रहे हैं dplyr, data.table और tidyr (कुछ नाम रखने के लिए) जैसे पैकेज। मेरा सवाल है - क्या यह समझ में आता है?
कुछ हफ़्ते पहले, मैंने खुद को एक तालिका में प्रत्येक पंक्ति के लिए स्तंभ नामों की एक सूची प्राप्त करने के कार्य के साथ सामना किया, जो कुछ मानदंडों को पूरा करता था और उन्हें तार के वेक्टर में मिलाता था। एक तंग समय सीमा थी और उस समय, मैं कुछ रुकावट का अनुभव कर रहा था और समस्या के आसपास अपना सिर नहीं लपेट पा रहा था। मैंने अपने बॉस से पूछा, जिन्होंने समस्या को हल करने के लिए मेरे सहयोगी को एक स्क्रिप्ट TSQL लिखने के लिए कहा। जब वह इस पर काम कर रहा था, तो मुझे यह पता लगाने का एक तरीका मिला कि आर में एक काफी सरल फ़ंक्शन लिख रहा हूं और इसे डेटा फ्रेम पर लागू कर रहा हूं। मेरे सहयोगी लगभग दो घंटे बाद अपनी स्क्रिप्ट के साथ वापस आए। यह कम से कम 75 लाइनें थीं जिनमें दो छोरों के लिए नेस्टेड था। मैंने उसे सूचित करने के लिए कहा कि यह कब समाप्त होगा और उसने कहा कि इसमें कई घंटे लगेंगे। इस बीच मेरी आर स्क्रिप्ट लगभग 30 सेकंड में ~ 45,000 रिकॉर्ड्स को पाटने में सक्षम थी।
क्या मुझे यह मानने का अधिकार है कि डेटा की सफाई और मंजन के लिए आर एक बेहतर विकल्प है? शायद मेरे कार्यालय में SQL डेवलपर सिर्फ अयोग्य है? अगर कोई आर और एसक्यूएल (या उस मामले के लिए पायथन और एसक्यूएल) के साथ काम कर चुका है, तो मुझे इस पर कोई भी विचार है।