R에서 환경 지우기

Gustavo du Mortier 2021년4월26일
R에서 환경 지우기

새 프로젝트를 시작하거나 R에서 새 작업 세션을 시작하기 전에 환경을 정리하는 것이 좋습니다. 즉, 모든 개체를 제거하고 이전 세션 중에 설치된 모든 패키지를 분리합니다.

전체 환경을 정리하는 가장 간단하고 안정적인 방법은 애플리케이션을 닫을 때 현재 R 이미지를 저장하지 않도록주의하면서 R을 다시 시작하는 것입니다. RStudio에서 종료시 작업 영역을 .RData로 저장옵션을 사용 안함으로 설정하고 다시 시작할 때 환경을 복원하는 옵션을 비활성화해야합니다.

또한 프로젝트 폴더에 남아있는.RData 파일이 없는지 확인해야합니다. 이러한 파일은 표시되지 않으므로 명령 줄을 사용하여 해당 파일이 있는지 확인하고있는 경우 삭제해야합니다.

R을 다시 시작하지 않고 환경 지우기

코드를 사용하여 R 환경을 깨끗한 상태로 만드는 것도 가능합니다. 그러나 R을 초기화 할 때처럼 환경을 깨끗하게 유지할 수있는 방법은 없습니다. 기본 패키지를 제외한 모든 패키지를 분리하는 방법을 원한다면이 작업을 자동화하는 DetachPackages함수를 만들 수 있습니다.

이 함수는 분리를 방지해야하는 기본 패키지 이름의 벡터를 만듭니다. 그런 다음 설치된 모든 패키지 이름이있는 목록을 만들고이 목록에서 기본 목록의 이름을 뺍니다. 마지막으로package.list에 이름이 남아있는 패키지를 분리합니다.

DetachPackages <- function() {
    basic.packages <- c("package:stats","package:graphics","package:grDevices","package:utils","package:datasets","package:methods","package:base")
    package.list <- search()[ifelse(unlist(gregexpr("package:",search()))==1,TRUE,FALSE)]
    package.list <- setdiff(package.list,basic.packages)
    if (length(package.list)>0) {
        for (package in package.list) {
            detach(package, character.only=TRUE)
        }
    }
}

다음 명령으로readxl과 같은 패키지를 먼저 설치하고로드하여이 기능을 시도 할 수 있습니다.

install.packages("readxl")
library("readxl")

그런 다음sessionInfo()를 실행하면other attachment packages 섹션에서 출력의 일부로 얻을 수 있습니다.

other attached packages:
[1] readxl_1.3.1

그런 다음DetachPackages()함수를 호출하고sessionInfo()를 다시 호출 할 수 있습니다. 기타 첨부 된 패키지섹션은 사라집니다.