Как отключить "Сохранить изображение рабочей области?" подскажите в R?
Когда я выхожу из интерактивной оболочки R, она вызывает раздражающее приглашение каждый раз:
>
>
Save workspace image? [y/n/c]: n
Я всегда отвечаю "нет", потому что, если бы я хотел сохранить свою работу, я сделал бы это, прежде чем пытаться выйти.
Как избавиться от приглашения?
Примечание: см. ?save.image
Ответы
Ответ 1
Вы можете передать --no-save
аргумент командной строки при запуске R или вы можете переопределить функцию q
:
utils::assignInNamespace(
"q",
function(save = "no", status = 0, runLast = TRUE)
{
.Internal(quit(save, status, runLast))
},
"base"
)
Поместите вышеуказанный код в ваш .Rprofile, чтобы он запускался при запуске для каждого сеанса.
Ответ 2
Не нашли самое легкое решение для Linux:)
На ubuntu добавьте следующую строку в ~/.bashrc
:
alias R='R --no-save'
Каждый раз, когда вы запускаете консоль R с помощью R
, она будет передана --no-save
.
Ответ 3
Вы можете избежать "Сохранить изображение рабочей области"? введите Ctrl+D.
Таким образом, если вы дважды выполняете Ctrl+D в интерактивном R, то вы выходите из R без сохранения рабочего пространства.
(протестировано в Linux и OS X)
Ответ 4
Если вы используете Rgui, щелкните правой кнопкой мыши значок, который вы используете для запуска R, и нажмите "Свойства" и добавьте --no-save в команду, которая запускает R.
(из http://tolstoy.newcastle.edu.au/R/help/05/03/1115.html)
Если вы используете другой редактор, чем Rgui, вам нужно передать --no-save в командную строку R при запуске R
Ответ 5
Вы можете легко добавить функцию qq()
в файл .Rprofile
qq <- function(save="no") { q(save=save)}
Я думал, что опция save доступна с опциями, но, по-видимому, лучше ответить на Joshua.
Ответ 6
Как просто избежать приглашения, набрав q('no')
вместо
Ответ 7
Получите лучшее из обеих стратегий, указанных mreq и BondedDust:
По умолчанию не сохранять, добавив следующую строку в ~/.bashrc:
alias R='R --no-save'
Но дайте себе простой способ сэкономить на выходе, добавив это в ~/.Rprofile:
qs <- function(save="yes") { q(save=save)}
Итак, теперь q()
завершает работу без сохранения (или запроса), но qs()
будет сохранять и завершать (также без запроса)
Ответ 8
Перезаписать параметр по умолчанию для сохранения аргумента функции quit
formals(quit)$save <- "no"
поместите эту строку в .Rprofile
Ответ 9
Вы можете создать псевдоним для команды R:
с помощью bash: alias R='R --no-save'
с помощью csh: alias R 'R --no-save'
Ответ 10
Если вы чувствуете себя достаточно предприимчивым, вы также можете отредактировать раздел startup
в конце /usr/bin/R
, т.е. добавить --no-save
к вызовам exec. Однако, если вам нужно сохранить рабочее пространство, запомните save.image()
.