programing

R에서 "작업영역 이미지 저장?" 프롬프트를 비활성화하는 방법은 무엇입니까?

telebox 2023. 7. 11. 22:51
반응형

R에서 "작업영역 이미지 저장?" 프롬프트를 비활성화하는 방법은 무엇입니까?

대화형 R 쉘을 종료하면 매번 짜증나는 프롬프트가 표시됩니다.

>>작업영역 이미지를 저장하시겠습니까?[y/n/c]: n

저는 항상 "아니오"라고 대답합니다. 왜냐하면 제가 제 작품을 저장하고 싶다면 종료하기 전에 그렇게 할 것이기 때문입니다.

어떻게 하면 프롬프트를 없앨 수 있을까요?


참고: 참조?save.image

R을 시작할 때 명령줄 인수를 전달하거나 다음을 재정의할 수 있습니다.q함수:

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

위의 코드를 에 넣습니다.모든 세션에 대해 시작 시 실행되도록 Rprofile.

가장 쉬운 리눅스 솔루션을 아직 찾지 못했습니다 :)

Ubuntu에서 다음 행을 추가합니다.~/.bashrc:

alias R='R --no-save'

R 콘솔을 시작할 때마다R그것은 통과될 것입니다.--no-save선택.

를 사용하여 "작업영역 이미지 저장?" 프롬프트를 종료할 수 있습니다.

따라서 대화형 R에서 작업을 두 번 수행하면 작업 공간을 저장하지 않고 R을 종료합니다.

(Linux 및 OS X에서 테스트됨)

Rgui를 사용하는 경우 R을 시작할 때 사용하는 아이콘을 마우스 오른쪽 단추로 클릭하고 "속성"을 클릭한 다음 R을 시작하는 명령에 --no-save를 추가합니다.

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

Rgui와 다른 편집기를 사용하는 경우 R을 시작할 때 --no-save를 R 명령줄에 전달해야 합니다.

종료 함수의 저장 인수에 대한 기본 옵션 덮어쓰기

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

이 줄을 끼우다R 프로파일

편집: 추가됨q따라서 어떤 변형을 사용하든 프롬프트가 없습니다.

사용자 1과 2가 제공한 두 가지 전략을 모두 활용합니다.

~/.bashrc에 다음 행을 추가하여 저장하지 않도록 기본 설정:

alias R='R --no-save'

하지만 ~/에 이 기능을 추가하여 종료 시 절약할 수 있는 쉬운 방법을 제공합니다.R 프로파일:

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

그래서 지금q()저장하거나 프롬프트를 표시하지 않고 종료합니다.qs()저장하고 종료합니다(메시지 표시 안 함).

쉽게 추가할 수 있습니다.qq()의 기능을 수행합니다.Rprofile 파일

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

저장 옵션은 옵션과 함께 사용할 수 있다고 생각했는데, 조슈아의 답변이 가장 좋은 것 같습니다.

R Studio IDE를 사용하는 경우 글로벌 옵션을 다시 설정하여 이 작업을 수행할 수 있습니다.

도구 --> 전역 옵션 --> R 일반(기본)으로 이동합니다.

  1. 복원을 선택 취소합니다.시작 시 작업 공간에 RD 데이터 저장
  2. 작업영역 이미지를 에 저장합니다.종료 시 RData - '없음'을 선택합니다.

'적용'을 클릭한 다음 '확인'을 클릭합니다.

이 주제에 대한 자세한 글을 여기에 올렸습니다.

이 게시물에서 저는 '워크스페이스 이미지를 저장해야 할까 말까'에 대해 언급했습니다.다음 질문에 대한 자세한 답변을 댓글로 작성했습니다(모두 읽어보시기 바랍니다).

  1. 작업 공간 이미지를 저장하지 않음을 설정하는 방법은 무엇입니까?
  2. '작업영역 이미지 저장'이라고 표시될 때 실제로 의미하는 것은 무엇입니까?
  3. 작업 공간 이미지를 저장하지 않는 이유는 무엇입니까?
  4. 작업영역 이미지는 언제 저장해야 합니까?
  5. 작업영역 이미지를 저장하지 않으면 어떻게 해야 합니까?모범 사례는 무엇입니까?

다른 게시물에서 R 사용자에게 유용할 수 있는 내용은 다음과 같습니다.

재현 가능한 작업이란 무엇입니까?' https://www.linkedin.com/feed/update/urn:li:activity:6789770117715640320

rm(list=lsx)을 사용하면 안 되는 이유는 무엇입니까?R 모범 사례 https://www.linkedin.com/feed/update/urn:li:activity:6785805481131683840

작업 디렉토리 https://www.linkedin.com/posts/drnishaarora_2-set-working-directory-r-studio-activity-6785423883408297984-NAoH

입력하여 프롬프트를 피하는 것은 어떻습니까?q('no')대신에

나처럼 대괄호 한 쌍을 모두 입력하는 것이 복제본을 종료하는 데 너무 많은 노력을 기울이는 것 같으면 다음을 시도할 수 있습니다.

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

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

그러면 새 클래스가 생성되어 해당 클래스를 인쇄하려고 할 때 R이 종료됩니다.는 만약 이 결는만당도면망다친이를 실행한다면.exitRrepl에서 전체가 종료됩니다(인쇄를 시도하기 때문에).

NB: 추할수있다니에 할 수 .~/.Rprofile모든 세션을 시작할 때 로드합니다.

R 명령에 대한 별칭을 생성할 수 있습니다.

bash 사용:alias R='R --no-save'

csh 사용: alias R 'R --no-save'

만약 당신이 충분히 모험심을 느낀다면, 당신은 또한 편집할 수 있습니다.startup의끝부분의 /usr/bin/R를 들어 가를 합니다.--no-save최고 경영자 호출에.작업영역을 에는 작업영역을 저장해야 합니다.save.image().

언급URL : https://stackoverflow.com/questions/4996090/how-to-disable-save-workspace-image-prompt-in-r

반응형