Bash 모드에서 실행할 때 누락된 R 패키지 설치

Bash 모드에서 실행할 때 누락된 R 패키지 설치

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)
})

관련 정보