2009-11-21 12 views
34

चलो कहते हैं कि मैं एक अनुसंधान स्रोत कुछ कार्यों के शामिल फ़ाइल है, कोई फर्क नहीं पड़ता कि वे क्या कर रहे हैं, उदाहरण के लिए करते हैं,वर्तमान नाम स्थान में आयात करने के फ़ंक्शन

fnx = function(x){(x - mean(x))/sd(x)} 

मैं अपने वर्तमान में उन तक पहुंच सकेंगे होना चाहते हैं आर सत्र (स्पष्ट रूप से उन्हें टाइप किए बिना)। यह अच्छा होगा अगर लाइब्रेरी ("/ path/to/file/my_fn_lib1.r") ने काम किया, क्योंकि "आयात" पाइथन में काम करता है, लेकिन ऐसा नहीं होता है। आर पैकेज बनाने के लिए एक स्पष्ट समाधान है, लेकिन मैं कुछ कार्यों को आयात करने के लिए उस ओवरहेड से बचना चाहता हूं।

उत्तर

40

source() कमांड का उपयोग करें। आपके मामले में:

source("/path/to/file/my_fn_lib1.r") 

संयोग से, एक पैकेज बनाने package.skeleton() समारोह के साथ काफी आसान है (यदि आप इसे बार-बार पुन: उपयोग करने की योजना बना रहे हैं)।

+1

वही है जो मैं खोज रहा था, वास्तव में, पैकेज.स्केलटन(), जिसे मैं आपके उत्तर से पहले नहीं जानता था, मैंने सोचा जितना आसान था और मैंने वास्तव में अंत में इसका उपयोग किया। धन्यवाद! – doug

+1

शायद यह इंगित किया जाना चाहिए कि 'devtools' पैकेज आर पैकेज को हास्यास्पद रूप से आसान बनाता है। – ctbrown

संबंधित मुद्दे