2012-11-28 8 views
5

मेरे पास कुछ RStudio प्रोजेक्ट्स हैं जिन्हें मैंने एकाधिक विकल्प परीक्षणों को ग्रेडिंग जैसे कार्यों को स्वचालित करने के लिए सेट अप किया है। कार्यों को करने के लिए आवश्यक फ़ंक्शंस सिर्फ एक टेक्स्ट फ़ाइल में सहेजे जाते हैं, और यह सुनिश्चित करने के लिए कि वे मेरे लिए उपलब्ध हैं या अन्य उपयोगकर्ता मैं .Rprofile फ़ाइल का उपयोग कर रहा हूं जो स्टार्टअप पर source("MyFunctions.R") जैसे कुछ चलाता है। यदि .Rprofile फ़ाइल RStudio प्रोजेक्ट की मूल निर्देशिका में है, तो यह प्रोजेक्टसुनिश्चित करें कि सभी डिफ़ॉल्ट पैकेज चलने से पहले लोड किए गए हैं। प्रोप्रोफाइल

खोलते समय स्वचालित रूप से चलाया जाता है, हालांकि, मैंने कभी-कभी त्रुटियों में भाग लिया है जहां बेस आर पैकेज द्वारा प्रदान किए गए फ़ंक्शंस स्क्रिप्ट से पहले लोड नहीं होते हैं

Error in eval(expr, envir, enclos) : 
    could not find function "installed.packages" 

वहाँ किसी तरह डिफ़ॉल्ट संकुल चलाया जाता है, बल्कि सभी डिफ़ॉल्ट संकुल कि लोड करने के लिए विफल के लिए स्पष्ट library() कॉल जोड़ने से source() से पहले लोड होने तक प्रतीक्षा करने के लिए है: sourced, read.csv या installed.packages, जैसे जैसे कार्यों?

उत्तर

6

यह ?Startup से बहुत निश्चित लगता है:

ध्यान दें कि जब साइट और उपयोगकर्ता प्रोफ़ाइल फ़ाइलें sourced रहे हैं केवल 'आधार' पैकेज लोड किया जाता है, इसलिए अन्य संकुल में वस्तुओं के लिए भेजा जा करने की जरूरत है उदाहरण के लिए 'utils :: dump.frames' या स्पष्ट रूप से संबंधित पैकेज को लोड करने के बाद।

आवश्यक संकुल लोड करने के लिए library() का उपयोग करके उस स्पष्ट अनुशंसा के आधार पर, अपनी सर्वश्रेष्ठ शर्त की तरह दिखता है।

+0

धन्यवाद, ऐसा लगता है कि मुझे इस तरह की चीजों के लिए 'आरप्रोफाइल' का उपयोग करके पुनर्विचार करना चाहिए। मैं इसे स्वचालित रूप से कार्यों को लोड करने और स्क्रिप्ट चलाने के लिए एक त्वरित और सुविधाजनक तरीका के रूप में व्यवहार कर रहा था, और ऐसा लगता है कि यह वास्तव में ऐसा काम नहीं करता है। – Marius

+0

यदि आपने इसे अभी तक नहीं देखा है, तो आपको इस SO [r] -tag क्लासिक में दिलचस्पी हो सकती है: http://stackoverflow.com/questions/1189759/expert-r-users-whats-in-your-profofile –

1

जोश के जवाब से ?Startup प्रलेखन की ओर इशारा किया गया है, यह, .Rprofile के शीर्ष पर एक .First.sys() कॉल जोड़ने एक विकल्प हो सकता की तरह लग रहा है कि के रूप में समारोह है कि सभी डिफ़ॉल्ट संकुल की लोडिंग संभालती हो रहा है। यह आमतौर पर .Rprofile के बाद चलाया जाता है, जो मुझे मिलने वाली त्रुटियों की व्याख्या करेगा।

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