1

我正在远程运行作业,而我运行它的集群没有我需要的 R 包。我尝试使用以下方法安装它:

if(!require(hglm)){install.packages("hglm");require(hglm)}

并意识到我需要选择一个 CRAN 镜子。我尝试添加:

selectCRANmirror()

到脚本,但收到错误消息,无法以非交互方式选择 CRAN 镜像。

然后我尝试添加:

selectCRANmirror(ind=72)

因为这是我在本地计算机上将 CRAN 镜像设置为 UK(St. Andrews) 的内容,但这会生成错误消息:

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 

建议不能上网。那么我必须访问源代码吗?这是可访问的吗?

4

2 回答 2

1

?install.packages

repos 字符向量,要使用的存储库的基本 URL,例如,CRAN 镜像的 URL,例如“ http://cran.us.r-project.org ”。

所以做类似的事情install.packages("hglm", repos="http://cran.us.r-project.org")。而是将 URL 插入到 St Andrews。

于 2013-07-29T12:49:31.733 回答
0

我有同样的问题,然后我尝试了这个并且它有效:

chooseCRANmirror(ind = 77)

将此代码放在任何install.packages()语句之前,您可以运行整个 R 脚本并以非交互方式成功安装包。虽然已经 7 年了,但我希望这对你有用,也对其他人有用!

于 2021-07-21T15:11:24.457 回答