दिलचस्प पोस्ट
जावास्क्रिप्ट स्ट्रिंग्स और नंबरों के बीच प्लस और माइनस ऑपरेटर्स को अलग तरह से क्यों संभालता है? कैसे जावा ऑब्जेक्ट के लिए Firebase डेटा कन्वर्ट करने के लिए …? MySQL में अंतर को वैकल्पिक मेजबान मशीन के साथ कंटेनर ऑटो सिंक समय डॉक करेंगे? jquery serializeArray में जमा बटन सबमिट किया गया था जिसमें शामिल नहीं था डबल चेक किए गए लॉकिंग के इस उदाहरण में अस्थिर का उपयोग क्यों किया जाता है शरीर पर सेट CSS3 ढाल पृष्ठभूमि खिंचाव नहीं है बल्कि इसके बजाय दोहराता है? एक-लाइन कमांड-लाइन में पायथन मल्टी-लाइन स्टेटमेंट निष्पादित करना हाइबरनेट तालिका में मैप की गई त्रुटि नहीं है सीएसएस में आईडी और वर्ग के बीच का अंतर और इसका इस्तेमाल कब करना कैसे एक जावा धागा को सुन्दरता से रोकना है? क्या होता है अगर मैं कलम ऑब्जेक्ट पर डिस्पोज़ नहीं करता हूं? क्या सी + + स्वीकार्य में std :: vector <bool> ऑब्जेक्ट्स का उपयोग होता है, या मुझे वैकल्पिक का उपयोग करना चाहिए? ओएसएक्स सिएरा (10.12), एल कैपिटन (10.11), योसेमाइट (10.10), मावेरिक्स (10.9), माउंटेन शेर (10.8) या ओएसएक्स शेर (10.7) पर जावा ओएचएमई कहां है? एंड्रॉइड: एक अलग थर्ड पार्टी ऐप के लिए एक गतिविधि शुरू करना

आर से बाहर एक साफ आर सत्र से बाहर निकलें और पुनरारंभ करें?

क्या ऐसा कोई तरीका है जो मैं आर के भीतर एक उपनाम बना सकता हूं जो कि q() निष्पादित करेगा और एक स्वच्छ आर सत्र को पुनरारंभ करेगा?

और हां, मैं q() टाइप करने के लिए बहुत आलसी हूं और फिर अक्षर R 🙂

वेब के समाधान से एकत्रित समाधान "आर से बाहर एक साफ आर सत्र से बाहर निकलें और पुनरारंभ करें?"

आप कैसे शुरू करते हैं इस पर निर्भर करता है कि इन पंक्तियों में से किसी एक को अपने में रखने का प्रयास करें .Rprofile फ़ाइल:

 makeActiveBinding("refresh", function() { shell("Rgui"); q("no") }, .GlobalEnv) makeActiveBinding("refresh", function() { system("R"); q("no") }, .GlobalEnv) 

फिर आर कंसोल में इसे दर्ज करें:

 refresh 

वर्तमान सत्र को बंद कर देंगे और एक नया शुरू होगा।

यदि आप RStudio में हैं: कमांड / ctrl + shift + F10

आप भी उपयोग कर सकते हैं

 .rs.restartR() 

मुझे पता चला कि .rs.restartR () बस ctrl + shift + F10 दबाकर काम करता है

मुझे खिड़कियों पर एक ही ताज़ा सत्र की कार्यक्षमता की आवश्यकता थी और मुझे कोड का थोड़ा संशोधित संस्करण मिला।

 makeActiveBinding("refresh", function() { shell(paste0("start \"\" \"", R.home(), "/bin/x64/Rgui.exe\"")); q("no") }, .GlobalEnv) 

खिड़कियों पर आपको Rprofile.site फ़ाइल को संशोधित करना Rprofile.site । यह आर के etc निर्देशिका के अंतर्गत है अपने सिस्टम कॉन्फ़िगरेशन के अनुसार bin/x64 के पथ के अंतिम भाग के लिए भी देखें। मुझे उम्मीद है कि यह दूसरों को भी मदद करेगा

 makeActiveBinding("refresh", function() { system(paste0(R.home(),"/bin/i386/R")); q("no") }, .GlobalEnv) 

या –save या –no-save के साथ

 paste0(R.home(),"/bin/i386/R --no-save") 

मुझे लगता है कि यह आपके लिए जरूरी है अगर आपने ताज़ा करने से पहले सेटडब्ल्यू () का उपयोग किया है (यद्यपि न तो यह और न ही मूल संस्करण मेरे लिए काम करता है, क्योंकि आर पुनरारंभ होता है, फिर खुद बंद होता है, एक नई खिड़की खोली नहीं जाती है। अगर कोई टिप्पणी कर सकता है यह, कृपया ऐसा करें)

मैंने निम्नलिखित फ़ंक्शन को लिखा है। याद है! आप इसे केवल एक बार उपयोग कर सकते हैं, फिर आपको आर सत्र पुनरारंभ होने के बाद इसे पुनः लोड करना होगा।

 clc <- function() { rm(list = ls(envir = globalenv()),envir = globalenv()) #clear Vars from global enviroment gc() #grabage colector cat("\014") #clc .rs.restartR() #clear session } 

कभी-कभी पैकेज को अलग करने में भी मदद मिलती है

मार्टिन मॉर्गन के उपयोग के विचार के .Last().Last() ; यह कमांड लाइन विकल्प के उसी सेट के साथ आर को पुनरारंभ करता है, जिसे पहले कहा गया था:

 restart_r <- function(status = 0, debug = TRUE) { if (debug) message("restart_r(): Customizing .Last() to relaunch R ...") assign(".Last", function() { args <- commandArgs() system2(args[1], args = args[-1]) }, envir = globalenv()) if (debug) message("restart_r(): Quitting current R session and starting a new one ...") quit(save = "no", status = status, runLast = TRUE) } 

पुरानी पोस्ट, लेकिन उत्तर में कोई भी काम नहीं करता (मेरे लिए, मैं विंडोज का उपयोग कर रहा हूं, दूसरों का परीक्षण नहीं किया है), इसलिए मैं अपना समाधान जोड़ दूंगा मेरी कुछ शब्दावली यहाँ बंद हो सकती है, लेकिन इसे इस बिंदु को भरना चाहिए:

उत्तर के ऊपर काफी काम नहीं करते

यहां प्रस्तुत अधिकांश उत्तरों में shell या system का उपयोग करना शामिल system जो काफी काम नहीं करता है क्योंकि जब वे एक नया आर कंसोल खोलते हैं और बंद करने के लिए मूल कंसोल को निर्देश देते हैं, तो नया कंसोल पुरानी कंसोल के अनुप्रयोग संदर्भ में चल रहा है। इसका अर्थ है कि नया कंसोल बंद होने तक मूल कंसोल बंद नहीं हो सकता। ऊपर से कुछ उपयोगकर्ता जैसे हेजडेन्डलीचेंट ने रिपोर्ट किया कि मूल कंसोल बंद करने के लिए नया कंसोल बंद करने के लिए मजबूर करता है। जब मैं कोशिश करता हूं, नया कंसोल खुला रहता है, लेकिन पुराने कंसोल एक स्थिर स्थिति में खुला रहता है जब तक कि नया कंसोल बंद नहीं हो जाता।

बुनियादी समस्या shell कह रही shell या system मूल संदर्भ से नया संदर्भ में अनुप्रयोग संदर्भ को परिवर्तित नहीं करता है, और इसलिए मूल प्रक्रिया समाप्त नहीं हो सकती जब तक नया कंसोल बंद नहीं हो जाता।

विकल्प जो मेरे लिए काम करता है

इसके बजाय shell.exec उपयोग shell.exec जो आमतौर पर फ़ाइल प्रकार के आधार पर एक फ़ाइल खोलने के लिए उपयोग किया जाता है। जब। Exe पर प्रयोग किया जाता है, जाहिरा तौर पर, यह निष्पादन योग्य चलाता है। महत्वपूर्ण अंतर, हालांकि, यह है कि सिस्टम अपने स्वयं के अलग संदर्भ में आवेदन को शुरू करता है तो यहाँ कोड है जो मेरे लिए काम करता है:

 makeActiveBinding("restart.R", function() { shell.exec(paste0(R.home(),"/bin/x64/Rgui.exe")); q("no") }, .GlobalEnv) 

आपको आर-आर शुरू करने के लिए उपयोग करने के लिए जो कुछ भी आप उपयोग करते हैं, उससे मिलान करने के लिए फ़ाइल पथ /bin/x64/Rgui.exe को संपादित करना होगा। आप केवल इस रेखा को अपने में .Rprofile फ़ाइल, फिर आप इसे पुनः restart.R करके दर्ज कर सकते हैं। कोड।

अन्य विधियों पर इसका नकारात्मक पक्ष यह है कि आप कमांड लाइन तर्कों --no-save कोई भी नहीं --no-save जैसे कि आप केवल shell साथ, लेकिन कम से कम यह आपको मूल आर प्रक्रिया को बंद कर देगा।