2009-09-08 13 views
20

मैं कई मशीनों पर विंडोज के तहत आर का उपयोग करता हूं।अपनी कार्य निर्देशिका को अपनी कार्यशील निर्देशिका के रूप में पहचानने के लिए आर कैसे प्राप्त करें?

मैं जानता हूँ कि आप इस

setwd("C:/Documents and Settings/username/My Documents/x/y/z") 

तरह आर स्क्रिप्ट के भीतर से कार्यशील निर्देशिका सेट कर सकते हैं, ... लेकिन फिर इस स्क्रिप्ट के पोर्टेबिलिटी टूट जाता है। सभी स्लैश को रिवर्स करना भी परेशान है (क्योंकि विंडोज आपको बैकस्लाश देता है)

क्या कोई विशेष कार्य निर्देशिका में आर शुरू करने का कोई तरीका है ताकि आपको स्क्रिप्ट स्तर पर ऐसा करने की आवश्यकता न हो?

उत्तर

14

आपको फ़ोल्डर की इच्छा रखने के लिए आर (आरएलएनके फ़ाइल) में शॉर्टकट कॉपी करना चाहिए। फिर "गुण" (दायां माउस बटन -> अंतिम विकल्प) में दूसरे टैब में "प्रारंभ करें ..." फ़ील्ड में कुछ भी हटाएं ("शॉर्टकट"?)। यदि आप इस शॉर्टकट के साथ आर शुरू करते हैं तो निर्देशिका उस शॉर्टकट होगी।

मेरे पास विंडोज़ का अंग्रेजी संस्करण नहीं है इसलिए मुझे फ़ील्ड नामों के बारे में निश्चित नहीं है, लेकिन उन्हें ढूंढना आसान होना चाहिए।

इसी प्रकार के सवालों के आर-windows-फैक में थे:

2.5 How do I run it?

2.10 How can I keep workspaces for different projects in different directories?

2.14 What are HOME and working directories?

2,14 में उल्लेख किया गया है कि

कार्यशील निर्देशिका निर्देशिका है जिसमें से रुगुई या Rterm लॉन्च किया गया था, जब तक कि शॉर्टकट के गुणों के 'स्टार्ट इन' फ़ील्ड द्वारा दिए जाने पर शॉर्टकट का उपयोग नहीं किया जाता था।

3

यदि आप Emacs/ESS का उपयोग कर रहे हैं, तो यह कोई समस्या नहीं है। मैं निर्देशिका में नेविगेट करता हूं जहां मेरी आर स्क्रिप्ट स्थित है, इसे खोलें, फिर आर ईएसएस प्रक्रिया शुरू करें। एक आर कंसोल वर्तमान निर्देशिका के साथ आर की कार्यशील निर्देशिका के रूप में पॉप अप करता है।

यदि आप Emacs/ESS में परिवर्तित नहीं हुए हैं, तो मैं इसकी अनुशंसा करता हूं। (हालांकि लौ युद्ध को रोकने के लिए, मैं यह भी ध्यान देता हूं कि वीआई उपयोगकर्ताओं के लिए समान विकल्प हैं।)

आशा है कि मदद करता है।

6

आप एक पर्यावरण चर का उपयोग कर सकते हैं। यह Sys.getenv() और Sys.setenv() के साथ काम कर सकता है। उदाहरण के लिए:

> Sys.setenv(R_TEST="testit") 
> Sys.getenv("R_TEST") 
    R_TEST 
"testit" 

आप अपनी स्क्रिप्ट में चर भेजा हैं, तो आप भीतर से उस तक पहुंच, और फिर उस उत्पादन पर setwd() कॉल करने के लिए सक्षम होना चाहिए।

+0

पर्यावरण चर इस तरह से सेट आर सत्रों में जारी रहती है? पूर्ण कंप्यूटर के बारे में कैसे पुनरारंभ होता है? – eykanal

+0

नहीं, लेकिन अगर आप इसे अपनी .profile फ़ाइल में जोड़ देंगे। वैकल्पिक रूप से, आप ओएस से सिस्टम वैरिएबल प्राप्त कर सकते हैं (उदाहरण के लिए, विंडोज़ में, आप पर्यावरण चर में मूल्यों को स्टोर कर सकते हैं)। – Shane

5

अपनी कार्यक्षेत्र को वांछित निर्देशिका में सहेजें और इसके बाद आप केवल विंडोज एक्सप्लोरर से वर्कस्पेस खोलें।

3

बस एक विवरण: जैसा कि आप कहते हैं, स्लेश को उलटने के बजाय, बस एक और बैकस्लैश जोड़ें। इनमें से दो \\ इन तरीकों में से एक के रूप में काम करता है। इससे कम से कम थोड़ा आसान हो जाता है।

+0

+1 एहवा: जब आप सादे पुराने आर काम कर रहे हैं तो यह सबसे आसान तरीका है और केवल एक बार अपनी कार्य निर्देशिका सेट करना चाहता है। – PavoDive

4

मैंने अपनी लिपियों के सामने निम्नलिखित पंक्ति डाली और यह मुझे अपने कंप्यूटर पर काम करने की अनुमति देता है।

setwd(path.expand("~/path/to/working/directory/")) 

जहां ~ है = आपकी होम निर्देशिका में है।

Sys.setenv(HOME = "path") या Sys.setenv(R_USER = "path") दोनों घरेलू निर्देशिका सेट कर सकते हैं।

मेरे मामले में, मैं कई विंडोज़ बॉक्स पर काम करता हूं, प्रत्येक में काफी अलग निर्देशिका संरचनाएं होती हैं, लेकिन घर निर्देशिका को सही तरीके से सेट करके मैं कंप्यूटर के बीच कोड सिंक कर सकता हूं और उन्हें प्रत्येक पर ठीक से चला सकता हूं, जहां से मैं अपनी आर परियोजनाओं को चलाता हूं समान निर्देशिका संरचनाएं हैं।

-1

आर वूई के लिए अपनी वांछित निर्देशिका में एक शॉर्टकट डालें। राइट-क्लिक करें और शॉर्टकट गुणों को देखें। "प्रारंभ करें" के लिए प्रविष्टि हटाएं और ठीक क्लिक करें। जब आप इस शॉर्टकट से आर gui लॉन्च करते हैं तो डिफ़ॉल्ट निर्देशिका वह फ़ोल्डर होगी जिसे आपने लॉन्च किया है। जहां चाहें इस शॉर्टकट को कॉपी/पेस्ट करें।

+0

आपके और मेरे उत्तर के बीच क्या अंतर है? – Marek

1

Ubuntu के लिए: जो कुछ भी निर्देशिका आप से आर का शुभारंभ किया

setwd(Sys.getenv("PWD")) 

अब अपने डिफ़ॉल्ट कार्यशील निर्देशिका हो जाएगा:
अपने .Rprofile फ़ाइल (आमतौर पर अपने घर निर्देशिका में) में निम्न आदेश डालें। ध्यान रखें कि cwd में .Rdata के लिए खोज करने से पहले आर (स्टार्टअप स्रोत .Rprofile) लॉन्च करने की योजना बनाते समय आप अपनी वर्कस्पेस छवि को .RData के रूप में सहेजने के लिए अलग-अलग निर्देशिकाओं में डिफ़ॉल्ट वर्कस्पेस सेट कर सकते हैं।

0

आर स्क्रिप्ट है कि मैं काम कर रहा हूँ की वर्तमान निर्देशिका की तरह आर काम निर्देशिका सेट करने के लिए, मैं हमेशा इस तरह आदेशों getwd() और setwd() का एक संयोजन, का उपयोग करें:

path <- getwd() setwd(path)

या

setwd(getwd())

आप इसके बारे में अधिक जानने के चाहते हैं, इस article देखते हैं।

चीयर्स,

[] के

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