R
나는 종종 bash 모드에서 스크립트를 실행합니다. 내 스크립트는 이라고 합니다 981_conduct_regression.R
. 이 스크립트에서는 다음을 사용하여 필요한 패키지를 호출합니다.
if(!require(<package>)){
install.packages("<package>")
library(<package>)
}
이제 bash 모드(Ubuntu 14.04)에서 스크립트를 호출하면 스크립트(아래 표시)가 패키지를 설치하지 못합니다.
Loading required package: gridExtra
Installing package into ‘/home/michael/R/x86_64-pc-linux-gnu-library/3.1’
(as ‘lib’ is unspecified)
Error in contrib.url(repos, type) :
trying to use CRAN without setting a mirror
Calls: source ... eval -> eval -> install.packages -> grep -> contrib.url
In addition: Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called ‘gridExtra’
Execution halted
내 아이디어가 실현되려면 무엇을 바꿔야 합니까?
편집하다:이 .sh
파일 은 다음과 같습니다
#!/bin/bash
Rscript Code/981_conduct_regression.R
답변1
R에서 대화형으로 실행되는 CRAN 이미지를 지정해야 합니다.
chooseCRANmirror()
올바른 거울을 선택하고
options("repos")
생성된 URL을 확인하세요. 이를 구성에 영구적으로 추가할 수 있습니다 ~/.Rprofile
.
local({r <- getOption("repos")
r["CRAN"] <- "<URL from above goes here>"
options(repos=r)
})
답변2
Stephen Kitt의 제안에 따라 문제가 해결되었습니다.
~ $ cat .Rprofile
local({r <- getOption("repos")
r["CRAN"] <- "https://mirror.las.iastate.edu/CRAN/"
options(repos=r)
})