"कार्यस्थान छवि सहेजें" को कैसे निष्क्रिय करें? आर में शीघ्र?


92

जब मैं इंटरैक्टिव आर शेल से बाहर निकलता हूं, तो यह हर बार एक कष्टप्रद संकेत प्रदर्शित करता है:

>
>
कार्यक्षेत्र छवि सहेजें? [y / n / c]: n

मैं हमेशा जवाब दे रहा हूँ "नहीं" इसे करने के लिए, क्योंकि अगर मैं अपने काम को बचाने के लिए कामना की, मुझे क्या करना चाहते हैं कि पहले बाहर निकलने के लिए कोशिश कर रहा।

शीघ्र से छुटकारा कैसे पाएं?


नोट: देखें ?save.image


7
@Spacedman: यह विंडोज़ में Ctrl + Z है, इसलिए कभी भी कुछ भी "पूर्ववत" करने का प्रयास न करें। ;-)
जोशुआ उलरिच

3
GNU / Linux में, शुरूR --vanilla
aL3xa

कस्टम का उपयोग कर इस जवाब भी देख q(): .Rprofie में समारोह stackoverflow.com/a/13043239/180892
Jeromy Anglim

5
इसके लायक क्या है, RStudio के पास इसके लिए प्राथमिकताएं हुक हैं
बेन बोल्कर

2
fwiw (भी), यह रेडियन आर कंसोल में डिफ़ॉल्ट व्यवहार है ।
कीथ ह्यूजिट

जवाबों:


76

--no-saveआर शुरू करने पर आप कमांड लाइन तर्क पास कर सकते हैं , या आप qफ़ंक्शन को ओवरराइड कर सकते हैं :

utils::assignInNamespace(
  "q", 
  function(save = "no", status = 0, runLast = TRUE) 
  {
    .Internal(quit(save, status, runLast))
  }, 
  "base"
)

उपरोक्त कोड को अपने .Rprofile में रखें ताकि यह प्रत्येक सत्र के लिए स्टार्टअप पर चलाया जाएगा।



2
जब मैंने डेफ़ॉल्ट पैकेज स्थापित किया और उपरोक्त कोड को मेरी Rprofile.site फ़ाइल (विंडोज 7 पर R 2.15.1 पर चल रहा है) में जोड़ा, तो मुझे निम्न त्रुटि मिली: "बाइंडिंग में त्रुटि हुई (नाम, as.environment (खोज) (नाम) ): फंक्शन 'फाइंड' नहीं खोज सका
जॉन डी। कुक

2
डिफॉल्ट्स पैकेज को स्पष्ट रूप से हटा दिया गया है।
प्रिक्सोलिटिक

1
मुझे "एरर मिल रहा है: फंक्शन नहीं मिला" असाइनमेंट ""। ओएस एक्स पर आर 3.1.2
जोश हैनसन

5
@ जोश हैनसेन (बर्तनों) को अपने पुस्तकालय में जोड़ें। सुरक्षित करने के लिए असाइनमेंट खोजें। नामस्थान
FXQuantTrader

31

अभी तक सबसे आसान लिनक्स समाधान नहीं मिला :)

Ubuntu पर अपने लिए निम्न पंक्ति जोड़ें ~/.bashrc:

alias R='R --no-save'

हर बार जब आप आर कंसोल के साथ शुरू करते हैं R, तो यह --no-saveविकल्प पारित हो जाएगा ।


2
या @ aL3xa के रूप में ऊपर टिप्पणी में निर्दिष्ट करने के R --vanillaलिए संयोजन का उपयोग करें Combine --no-save, --no-restore, --no-site-file, --no-init-file and --no-environ
पॉल रौजीक्स

23

आप "बच सकते हैं सहेजें कार्यक्षेत्र छवि? " एक साथ शीघ्र Ctrl+D

इस प्रकार, यदि आप Ctrl+Dइंटरैक्टिव आर में दो बार करते हैं , तो आप अपने कार्यक्षेत्र को बचाने के बिना आर से बाहर निकलें।

(लिनक्स और ओएस एक्स पर परीक्षण किया गया)


11

यदि आप Rgui का उपयोग कर रहे हैं, तो उस आइकन पर राइट-क्लिक करें जिसका उपयोग आप R शुरू करने के लिए करते हैं और "Properties" पर क्लिक करते हैं, और R को शुरू करने वाले कमांड में -no-save जोड़ें।

( http://tolstoy.newcastle.edu.au/R/help/05/03/1115.html से )

यदि आप Rgui की तुलना में एक अलग संपादक का उपयोग कर रहे हैं, तो आपको R शुरू करते समय R-कमांड लाइन को -no-save करना होगा


क्या आप कृपया गुण टैब का स्क्रीनशॉट साझा कर सकते हैं?
आश्रित

8

कार्य छोड़ने के तर्क को बचाने के लिए डिफ़ॉल्ट विकल्प को अधिलेखित करें

formals(quit)$save <- formals(q)$save <- "no"

इस लाइन को .Rprofile में डालें

संपादित करें: जोड़ा गया है q, इसलिए कोई संकेत नहीं है कि कोई भी प्रकार का उपयोग नहीं किया जाता है


> फॉर्मल्स (छोड़ें) $ सहेजें <- "नहीं"> q () कार्यक्षेत्र छवि सहेजें? [y / n / c]:
O.rka

5

आप आसानी qq()से .Rprofile फ़ाइल में एक फ़ंक्शन जोड़ सकते हैं

 qq <- function(save="no") { q(save=save)}

मुझे लगा कि विकल्प के साथ बचत विकल्प उपलब्ध था, लेकिन जाहिर है कि यहोशू का जवाब सबसे अच्छा है।


5

Mreq और BondedDust द्वारा दी गई दोनों रणनीतियों में से सर्वश्रेष्ठ प्राप्त करें :

अपने ~ / .bashrc पर निम्न पंक्ति जोड़कर सहेजने के लिए डिफ़ॉल्ट:

alias R='R --no-save'

लेकिन अपने आप को इसे जोड़ने के लिए बाहर निकलने का एक आसान तरीका दें ~ /। लाभ:

qs <- function(save="yes") { q(save=save)}

तो अब q()बिना सेविंग (या प्रॉम्प्ट) के qs()क्विट करता है लेकिन सेव (और बिना प्रॉम्प्ट के भी) बचा लेगा


3

कैसे के q('no')बजाय बस टाइप करके संकेत से बचने के बारे में


20
.. जो शीघ्र उत्तर देने से भी ज्यादा कीबोर्ड हिट है :-)
TMS

3

यदि, मेरी तरह, एक पूरी जोड़ी कोष्ठक से टाइप करने पर लगता है कि उत्तर से बाहर निकलने के लिए बहुत अधिक प्रयास आप इस कोशिश कर सकते हैं:

exit <- structure(list(), class = "exit_command")

print.exit_command <- function(...) {
  q("no")  # exit without saving
}

यह एक नया वर्ग बनाता है, जो आर को बाहर निकलने का कारण बनता है जब उन्होंने कहा कि कक्षा को मुद्रित करने का प्रयास किया जाता है। यदि आप exitR उत्तर में चलते हैं , तो पूरी बात बाहर निकल जाएगी (क्योंकि यह इसे प्रिंट करने की कोशिश करता है)।

NB: आप इसे ~/.Rprofileहर सत्र की शुरुआत में लोड करने के लिए जोड़ सकते हैं ।


2

आप R कमांड के लिए एक उपनाम बना सकते हैं:

बाश का उपयोग करना :alias R='R --no-save'

csh का उपयोग करना: alias R 'R --no-save'


-2

यदि आप काफी रोमांच महसूस करते हैं, तो आप startupअनुभाग को अंत में संपादित भी कर सकते हैं /usr/bin/R, यानी --no-saveनिष्पादन कॉल में जोड़ें । हालांकि, अगर आपको अपने कार्यक्षेत्र को बचाने की आवश्यकता है, तो याद रखें save.image()


1
मैं कभी भी सीधे किसी भी चीज़ को सीधे संपादित नहीं करता /usr/bin- और दृढ़ता से ऐसा करने से हतोत्साहित करता हूँ। यह प्रणाली क्षेत्र है, "अनधिकृत कर्मियों को निषिद्ध है"।
ulidtko

3
@ulidtko अगर यह मेरी प्रणाली है, तो मैं अधिकृत हूं :) मुझे लगता है कि असली कारण यह एक अच्छा विचार नहीं है क्योंकि यह भविष्य के उन्नयन द्वारा अधिलेखित होने जा रहा है।
माइकल मिओर

@MichaelMior अच्छी तरह से हाँ, तुम बिल्कुल सही हो; हालाँकि: मनुष्य गड़बड़ करते हैं। पुरे समय। यह बस एक दिशानिर्देश है; जब तक आपके पास एक अच्छा कारण नहीं है, तब तक /usrरोबोट (मेरा मतलब है, पैकेज मैनेजर) छोड़ दें क्योंकि वे पहले से ही उस क्षेत्र का प्रबंधन करते हैं। हस्तक्षेप न करने के तरीके हैं। अन्यथा, आप उद्देश्यपूर्ण रूप से रोमांच की तलाश कर रहे हैं।
ulidtko
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.