我正在远程运行作业,而我运行它的集群没有我需要的R包。我试图使用以下方法安装它:
if(!require(hglm)){install.packages("hglm");require(hglm)}
并意识到我需要选择一个CRAN镜像。我尝试添加:
selectCRANmirror()
到脚本,但收到错误信息,无法以非交互方式选择CRAN镜像。
然后我尝试添加:
selectCRANmirror(ind=72)
因为这是我在本地计算机上用来将CRAN镜像设置为英国(圣安德鲁斯),但这会生成错误消息:
Error in chooseCRANmirror(ind = 72) : unused argument(s) (ind = 72)
我想知道是否有人可以解释如何在远程设备上选择CRAN镜像?
我修改了我的脚本以包含建议的行:
if(!require(hglm)){install.packages("hglm",repos="http://cran.us.r-project.org")
替换为" http://star-www.st-andrews.ac.uk/cran" (圣安德鲁斯镜子) 并收到以下消息(我已经包含了前面的脚本来帮助说明问题所在):
setwd("~/lustre2/s0784669")
load("df1QCMAF.RData")
.libPaths('~/RLibrary')
if(!require(GenABEL)){install.packages("GenABEL");require(GenABEL)}
#Loading required package: GenABEL
#Loading required package: MASS
#GenABEL v. 1.7-6 (May 16, 2013) loaded
if(!require(hglm)){install.packages("hglm",repos="http://star-www.st-andrews.ac.uk/cran");require(hglm)}
#Loading required package: hglm
#Installing package(s) into '/export/users/s0784669/RLibrary'
#(as 'lib' is unspecified)
#Warning: unable to access index for repository http://star-www.st-andrews.ac.uk/cran/src/contrib
我试过了:
library(RCurl)
url.exists("http://star-www.st-andrews.ac.uk/cran")
确定群集上的互联网访问并收到以下消息:
library(RCurl);
#Loading required package: bitops
url.exists("star-www.st-andrews.ac.uk/cran")
#[1] FALSE
建议不要上网。那么我必须访问源代码吗?这可以访问吗?
答案 0 :(得分:1)
每?install.packages
:
repos
字符向量,要使用的存储库的基本URL,例如CRAN镜像的URL,例如“http://cran.us.r-project.org”。
做install.packages("hglm", repos="http://cran.us.r-project.org")
之类的事情。将网址插入圣安德鲁斯。
答案 1 :(得分:0)
我有同样的问题,然后我尝试了这个并且它奏效了:
chooseCRANmirror(ind = 77)
通过将此代码放在任何 install.packages()
语句之前,您可以运行整个 R 脚本并以非交互方式成功安装软件包。虽然已经过去 7 年了,但我希望这对你有用,对其他人也有用!