완벽을 기하기 위해이 문제가 발생하지 않도록하는 방법이 있습니다. Dirk가 말했듯이 패키지를 컴퓨터의 다른 디렉토리에 저장하십시오.
install.packages("thepackage",lib="/path/to/directory/with/libraries")
당신은 기본 변경할 수 있습니다 .Library
기능을 사용하여 값을 .libPaths
너무
.libPaths("/path/to/directory/with/libraries")
이 경로를 .Library
변수 의 첫 번째 값으로 설정하고 기본값으로 만듭니다.
이를 더 자동화하려면 R 빌드의 / etc / 디렉토리에있는 Rprofile.site 파일에서이를 지정할 수 있습니다. 그러면 R이로드 될 때마다 자동으로로드되므로 더 이상 걱정할 필요가 없습니다. 지정된 디렉토리에서 패키지를 설치하고로드 할 수 있습니다.
마지막으로 Rprofile.site에 작은 코드가 포함되어있어 새 R 버전을 설치할 때 모든 패키지를 다시 설치할 수 있습니다. 새 R 버전으로 업데이트 하기 전에 목록을 작성하기 만하면 됩니다. 모든 패키지와 함께 업데이트 된 목록이 포함 된 .RData 파일을 사용하여 수행합니다.
library(utils)
## Check necessary packages
load("G:\Setinfo\R\packagelist.RData") # includes a vector "pkgs"
installed <- pkgs %in% installed.packages()[, 'Package']
if (length(pkgs[!installed]) >=1){
install.packages(pkgs[!installed])
}
.Last()
내 Rprofile.site 에 지정하여 packagelist.RData를 만듭니다. 패키지를 설치하면 패키지 목록이 업데이트됩니다.
.Last <- function(){
pkgs <- installed.packages()[,1]
if (length(pkgs) > length(installed)){
save(pkgs,file="G:\Setinfo\R\packagelist.RData")
}
}
새 R 버전을 설치할 때 필요한 요소를 Rprofile.site 파일에 추가하기 만하면 모든 패키지가 다시 설치됩니다. 어쨌든 Rprofile.site를 조정해야합니다 (총 대비 사용, Tinn-R에 대한 추가 코드 추가). 따라서 여분의 작업은 아닙니다. 모든 패키지를 새로 설치하는 데 추가 시간이 걸립니다.
이 마지막 비트는 원래 질문에 솔루션으로 제공된 것과 동일합니다. 먼저 "설치된"목록을 얻는 것에 대해 걱정할 필요가 없습니다.
CRAN에서 설치되지 않은 패키지가있는 경우에도이 기능은 완벽하게 작동하지 않습니다. 그러나이 코드도 쉽게 확장 할 수 있습니다.