2013-02-11 5 views
16

В настоящее время я пытаюсь запустить некоторый R-код на вычислительном кластере, но не могу запустить функцию install.packages из-за некоторых странных настроек брандмауэра в моем кластере. Поскольку я использую только несколько пакетов в своем R-коде, я надеялся избежать использования функции install.packages, загрузив и установив пакеты вручную.Ручная загрузка и установка пакетов в R

Примечание: Я знаю, что есть способ избежать этой проблемы, используя HTTP-прокси, как описано в FAQ R. К сожалению, люди, отвечающие за мой кластер, не помогают в настройке, поэтому я вынужден рассмотреть этот альтернативный подход.

В идеале я хотел бы загрузить файлы пакетов из CRAN на свой компьютер, затем загрузить эти файлы в кластер и установить их с помощью соответствующих команд в R. Кроме того, я также хотел бы убедиться, что пакеты устанавливаются в выбранное мной место, так как у меня нет разрешения «писать» в каталоге по умолчанию R (я считаю, что могу сделать это в R с помощью функции .libPaths)

Наконец, компьютеры, на которых я Я работаю в кластере Unix x86_64.

+1

Это, безусловно, возможно сделать, и функция' install.packages' примет аргумент репозитория NULL. –

+0

Удивительный! Я этого не понимал. Просто чтобы подтвердить, что следующий фрагмент должен работать, исправить? 'install.packages (pkgs = MyListofTARGZFiles, repos = NULL, lib = MyLibraryDirectory)' –

+0

Не уверен, что именно формализм будет работать, если предположить, что это действительно список. Первый аргумент должен быть символьным вектором. –

ответ

22

Вы можете установить пакет вручную, используя следующую команду

install.packages('package.zip', lib='destination_directory',repos = NULL)

Смотрите помощь ?install.packages для дальнейшего описания

+0

Спасибо! Просто чтобы убедиться: поскольку я работаю на компьютерах UNIX, не должны ли пакеты быть в формате tar.gz? –

+1

Если у вас есть источник пакета '.tar.gz', он также должен работать – iTech

+0

, а также этот ответ: http://stackoverflow.com/a/30533227/3494126 – Ufos

0

install.packages (, Lib = «Файл "Имя_библиотеки":// F:/test ")

+0

Улучшенные ответы на этот вопрос уже существуют. –

+0

Я добавил его, потому что у меня были проблемы с форматом библиотеки. Думал, может, это помогает кому-то другому! – Angel

Смежные вопросы