выбор зеркала 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 

Предполагает отсутствие доступа к Интернету. Так должен ли я получить доступ к исходному коду? А это доступно?


person Lynsey    schedule 29.07.2013    source источник
comment
возможный дубликат Как выбрать зеркало CRAN в R   -  person Thomas    schedule 29.07.2013
comment
Я проверил это, и моя проблема немного отличается, потому что она запускается в кластере солнечной сетки, поэтому я загружаю весь скрипт на один из узлов, и он проходит его от начала до конца, поэтому я не могу взаимодействовать с компьютер, как только я запустил сценарий.   -  person Lynsey    schedule 29.07.2013
comment
Я попробовал принятый ответ, но он все равно не запустился, см. измененный вопрос.   -  person Lynsey    schedule 29.07.2013
comment
Есть ли у кластера доступ в Интернет? Попробуйте library(RCurl); url.exists("http://star-www.st-andrews.ac.uk/cran").   -  person Thomas    schedule 29.07.2013
comment
Сообщение об ошибке: › библиотека (RCurl); Загрузка необходимого пакета: bitops › url.exists(star-www.st-andrews.ac. uk/cran) [1] FALSE Означает ли это отсутствие доступа к Интернету?   -  person Lynsey    schedule 29.07.2013
comment
Это ошибка, которую вы получаете, когда R не может получить доступ к Интернету, так что, вероятно. Если вы можете получить исходный код из CRAN и отправить его в кластер, эти ответы будут полезны для установки из локального источника.   -  person Thomas    schedule 29.07.2013
comment
давайте продолжим это обсуждение в чате   -  person Lynsey    schedule 29.07.2013


Ответы (2)


За ?install.packages:

repos вектор символов, базовые URL-адреса используемых репозиториев, например, URL-адрес зеркала CRAN, такой как "http://cran.us.r-project.org".

Так что сделайте что-нибудь вроде install.packages("hglm", repos="http://cran.us.r-project.org"). Вместо этого вставьте ссылку на Сент-Эндрюс.

person Hong Ooi    schedule 29.07.2013
comment
Я попробовал это, но получил сообщение об ошибке, которое я добавил к моему вопросу выше. Спасибо за ваш ответ. - person Lynsey; 29.07.2013

У меня был тот же вопрос, затем я попробовал это, и это сработало:

chooseCRANmirror(ind = 77)

Поместив этот код перед любыми операторами install.packages(), вы можете запустить весь R-скрипт и успешно установить пакеты неинтерактивно. Хотя прошло 7 лет, я надеюсь, что это сработает для вас и может сработать для других!

person Kenneth Z    schedule 21.07.2021