मेरे पास कई कस्टम फ़ंक्शंस हैं जिनका उपयोग मैं अक्सर आर में करता हूं। प्रत्येक स्क्रिप्ट में इस फ़ाइल (या इसके हिस्सों) को सॉस के बजाय, इसे बेस आर फ़ाइल में जोड़ने का कोई तरीका है, जैसे कि जब मैं आर का उपयोग करता हूं तो वे हमेशा उपलब्ध होते हैं ?आर में मैं अपने कस्टम कार्यों को स्थायी रूप से स्टोर करता हूं?
उत्तर
हां, एक पैकेज बनाएं। R की आपकी प्रतिलिपि के साथ आए कई ट्यूटोरियल के साथ-साथ Writing R Extensions मैनुअल भी हैं।
यह पहले बहुत अधिक काम जैसा प्रतीत हो सकता है, लेकिन आप शायद खुश होंगे कि आपने इसे लंबे समय तक किया था।
पीएस और फिर आप उस पैकेज को ~/.Rprofile
से लोड कर सकते हैं। वास्तव में संक्षिप्त कोड के लिए, आप इसे वहां भी परिभाषित कर सकते हैं।
एक और विकल्प .Rprofile
फ़ाइल का उपयोग करना है। आप ?Startup
में विवरण के बारे में पढ़ सकते हैं।
... '.Rprofile' नामक एक फ़ाइल वर्तमान निर्देशिका या उपयोगकर्ता के घर निर्देशिका में में के लिए खोज की है (इसी क्रम में): मूल रूप से, यह विचार है कि है। उपयोगकर्ता प्रोफ़ाइल फ़ाइल कार्यक्षेत्र में सोर्स की गई है।
आप इस कार्यक्षमता का उपयोग करने के बारे में here पढ़ सकते हैं।
कुछ उपयोगी कार्यों के लिए एक पैकेज अधिक हो सकता है। मैं तर्क दूंगा कि स्पष्ट रूप से source()
उन्हें इनकी आवश्यकता के साथ कुछ भी गलत नहीं है - कम से कम यह स्पष्ट है कि यदि आप किसी को अपना कोड ईमेल करते हैं, तो आप उन अन्य स्क्रिप्ट को शामिल करना नहीं भूलेंगे।
आप 'mvbutils' पैकेज को भी देख सकते हैं: यह आपको "कार्यों" (वर्कस्पेस के साथ फ़ोल्डरों "में)। डेटा में" रैडर्स "फाइलों को स्थापित करने देता है ताकि आप हमेशा देख सकें कि पैतृक कार्यों में क्या है (यानी पूर्वजों खोज() पथ में हैं)। तो आप अपने कस्टम फ़ंक्शंस को "प्रारंभिक कार्य" में डाल सकते हैं जहां आप हमेशा आर शुरू करते हैं; और उसके बाद आप जो भी परियोजना-विशिष्ट कार्य की आवश्यकता होती है, उसमें बदल जाते हैं, ताकि आप अव्यवस्थित कार्यक्षेत्रों से बच सकें, लेकिन आप अभी भी अपने कस्टम फ़ंक्शंस का उपयोग (और संपादित) कर सकेंगे क्योंकि प्रारंभिक कार्य हमेशा पूर्वज होता है। ऑब्जेक्ट्स (फ़ंक्शन समेत) ".RData" फ़ाइलों में संग्रहीत हो जाते हैं और इस प्रकार स्वचालित रूप से लोड/सहेजे जाते हैं, लेकिन फ़ंक्शंस के लिए अलग-अलग टेक्स्ट-बैकअप सुविधाएं होती हैं।
आर में काम करने के कई अलग-अलग तरीके हैं, और कोई भी "एक-आकार-फिट-सब" सर्वश्रेष्ठ समाधान नहीं है। एक सिंहावलोकन ढूंढना भी आसान नहीं है! सिर्फ अपने लिए बोलते हुए:
मैं हर समय 'स्रोत' रखने का प्रशंसक नहीं हूं; एक बात के लिए, यह बस बड़े डेटा सेट और/या मॉडल रन के परिणाम के साथ काम नहीं करता है।
मुझे लगता है कि पैकेज हार्ड बनाने और बनाए रखने के लिए हैं; वास्तव में एक महत्वपूर्ण उपरि है। पहले 5 संकुल आप लिखते हैं के बाद, यह थोड़ा आसान प्रदान की आप उस पर कर कम से कम एक साप्ताहिक आधार ताकि आप भूल नहीं है कैसे प्राप्त करता है, लेकिन वास्तव में ...
वास्तव में, 'mvbutils' सृजन की सुविधा के लिए उपकरणों का एक गुच्छा भी है (और विशेष रूप से) पैकेजों के रखरखाव, जो कार्य-पदानुक्रम प्रणाली के साथ आसानी से इंटरफेस करने के लिए डिज़ाइन किया गया है। मैं & का उपयोग अपने स्वयं के पैकेज हर समय संपादित करता हूं (संपादन mvbutils स्वयं सहित); लेकिन अगर यह 'mvbutils' में उपकरण के लिए नहीं था, तो मैं सप्ताह के अधिकांश दिनों में निराशा में अपने दांत पीस रहा था।
स्वीकार्य उत्तर सबसे अच्छा दीर्घकालिक है: पैकेज बनाएं।
सौभाग्य से, ऐसा करने के लिए सीखने की अवस्था devtools
पैकेज द्वारा नाटकीय रूप से कम हो गई है: यह पैकेज निर्माण (सही पैर पर उतरने में एक अच्छी सहायता) को स्वचालित करता है, अच्छे प्रथाओं को प्रोत्साहित करता है (जैसे roxygen2
के साथ दस्तावेज़िंग, और साथ में सहायता करता है ऑनलाइन संस्करण नियंत्रण (bitbucket, GitHub या अन्य) का उपयोग कर, दूसरों के साथ अपने पैकेज को बांटने। यह भी क्रैन प्रस्तुत करने के लिए अपना रास्ता चौरसाई के लिए बहुत उपयोगी है।
http://adv-r.had.co.nz और http://r-pkgs.had.co.nz पर अच्छा डॉक्स।
create your package को, उदाहरण के लिए आप कर सकते हैं:
install.packages("devtools")
devtools::create("path/to/package/pkgname")
- 1. स्थायी रूप से पार्सल करने योग्य कस्टम ऑब्जेक्ट को कैसे स्टोर करें?
- 2. सबवर्जन हुक प्रमाणपत्र को स्थायी रूप से स्वीकार नहीं करता
- 3. * मेरे कार्य कोड से पहले * मैं अपने कस्टम कार्य * से अन्य कार्यों को कैसे शुरू करूं?
- 4. एक्सेल में वीबीए में स्थायी रूप से सरणी के तत्वों को स्टोर करना संभव है?
- 5. एक फ़ंक्शन को स्थायी रूप से बदलना
- 6. चेतावनियों को स्थायी रूप से अनदेखा करना
- 7. SQL सर्वर में स्थायी पहचान बीज (स्थायी रूप से!)
- 8. ऑटोवेन्टवायरअप को स्थायी रूप से अक्षम करें
- 9. मैं इतिहास से फ़ाइलों को स्थायी रूप से कैसे हटा सकता हूं?
- 10. जीआईटी में संग्रहीत फाइल को स्थायी रूप से कैसे हटाएं?
- 11. क्या मैं अपने स्वयं के कस्टम विशेषताओं के साथ उन्नत पावरशेल कार्यों को सजाने सकता हूं?
- 12. जावा ढेर आकार को स्थायी रूप से बढ़ाएं?
- 13. स्थायी रूप से आधार करने
- 14. मैं अपने कस्टम मॉड्यूल में कस्टम ब्लॉक में अपना कस्टम फॉर्म कैसे जोड़ सकता हूं
- 15. आर: अस्थायी रूप से अधिभावी कार्यों और गुंजाइश/नाम स्थान
- 16. आर स्टोर पैकेज कहां करता है?
- 17. मैं विम के साथ फ़ाइल में सभी कार्यों को स्वचालित रूप से कैसे जोड़ सकता हूं?
- 18. मैं अपने पायथन परियोजना में उपयोगिता कार्यों को कहां रखूं?
- 19. mysql स्थायी रूप से तैयार बयान
- 20. एचटीएमएल 5 एपैच मैनिफेस्ट को हटाने, स्थायी रूप से
- 21. स्थायी रूप से कफका सर्वर शुरू करना
- 22. सभी अक्षम आदेशों को स्थायी रूप से सक्षम करें
- 23. जहां सहायक कार्यों को स्टोर करना है?
- 24. NetBeans: पुस्तकालय जोड़ने के स्थायी रूप से
- 25. मैं lib/कार्यों में किसी कार्य से अपने रेल डेटाबेस को कैसे एक्सेस करूं?
- 26. जावा हेप मेमोरी को स्थायी रूप से कैसे बढ़ाया जाए?
- 27. स्थायी रूप से पोस्टग्रेस्क्ल स्कीमा पथ
- 28. क्या मैं एक और नेमस्पेस देख सकता हूं और वर्तमान कार्यों के लिए अपने कार्यों को सार्वजनिक रूप से बेनकाब कर सकता हूं?
- 29. तेंदुए सर्वर के MySQL अपने डेटा को स्टोर करता है?
- 30. स्टोर में कस्टम गुणों को स्टोर करें Context.xml स्प्रिंग फ़ाइल
एक पैकेज निश्चित रूप से सही उत्तर है। – Shane
बस मेरा पहला पैकेज संकलित किया। यह नहीं पता था कि यह कितना आसान था। धन्यवाद Dirk! – Maiasaura
बधाई - अच्छी तरह से किया गया! –