요약

R 실행 시 자동으로 패키지 로딩하기

C:/Program Files/R/R-3.x.x/etc 폴더 내 Rprofile.site 파일을 메모장으로 연 후 하단에 자동 로딩이 필요한 패키지를 아래와 같이 기재

library(패키지명)



R에서 데이터 분석을 위해 스트립트를 짜는데, 사용하는 패키지가 매번 비슷할 수 있다. 특히 이용하는 패키지의 개수가 많다면, 다수의 패키지를 library()나 require() 함수로 불러오는 것이 매우 번거로운 작업일 수도 있다. 이럴 경우, 2가지의 방법으로 패키지 불러오기 작업을 간단히 수행할 수 있으나, 이 2가지 방법 또한 각각의 단점이 있음에 유의하자. 


첫번째 방법은, R이 실행될 때마다 로드되는 R의 설정파일에 library() 함수와 패키지 명을 기재하는 방법이다. 이 설정파일의 이름은 Rprofile.site이며, R 설치시 프로그램 설치 경로를 기본으로 지정했다면, C:/Program Files/R/R-3.2.3/etc 폴더에서 이 파일을 찾을 수 있을 것이다.(R 버전에 따라 경로명이 달라짐에 유의하자.) 이 Rprofile.site 파일을 메모장이나 워드프로세서 등으로 열면 여러가지 내용이 있는데, 가장 아래로 가서 library(knitr) 처럼 불러와서 사용하기를 원하는 패키지를 기재하면 된다. 


변경된 내용을 저장후 R을 재실행하면 해당 패키지가 R 시작시에 자동으로 불러와져 있음을 확인할 수 있다. 한가지 불편한 점은, R 구동시 어떤 패키지가 설정파일을 통해 로드되어 있는지 R에서 보여주지 않는다는 점이다.


두번째 방법은 R 스트립트에 불러와서 사용하려는 패키지명을 library()함수로 기재하여 저장한 후, R 실행시마다 이 파일을 source() 함수로 불러오는 방법이다. 이는 내가 작성한 함수(또는 패키지)를 source() 함수로 R로 불러와서 작업을 한다라고 이해하면 된다, 예를 들어 test.R이라는 R 스트립트 파일에 library(knitr) 명령을 저장해놨다고 하면, 이 test.R 파일을 source() 함수로 R로 불러들였을 때, 이 파일 안에 기재되어 있는 library(knitr) 함수 또한 실행되어 knitr 패키지가 로드된다. 




출처: http://naver.me/GAgtiUGm

패키지 등이 서로 충돌을 일으키는데 무엇이 문제인지 모르겠거나 전체적으로 삭제하고 싶은 경우 사용할 수 있는 스크립트.

System library를 제외하고 user library만을 삭제해준다.

아래 코드를 복사 후 붙여넣기.


# create a list of all installed packages

 ip <- as.data.frame(installed.packages())

 head(ip)

# if you use MRO, make sure that no packages in this library will be removed

 ip <- subset(ip, !grepl("MRO", ip$LibPath))

# we don't want to remove base or recommended packages either\

 ip <- ip[!(ip[,"Priority"] %in% c("base", "recommended")),]

# determine the library where the packages are installed

 path.lib <- unique(ip$LibPath)

# create a vector with all the names of the packages you want to remove

 pkgs.to.remove <- ip[,1]

 head(pkgs.to.remove)

# remove the packages

 sapply(pkgs.to.remove, remove.packages, lib = path.lib)


출처: https://www.r-bloggers.com/how-to-remove-all-user-installed-packages-in-r/

+ Recent posts