从远程设备选择CRAN镜像

时间:2013-07-29 12:45:28

标签: r remote-access cran

我正在远程运行作业,而我运行它的集群没有我需要的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 

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

2 个答案:

答案 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 年了,但我希望这对你有用,对其他人也有用!