Загрузка и установка пакетов вручную в R

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

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

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

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

4 ответа

Решение

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

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

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

Это лучший способ, если мы хотим скачать и установить локально:

download.packages('lib_name',destdir='dest_path')

например:

download.packages('RJDBC',destdir='d:/rlibs')

Я также столкнулся с той же проблемой при установке пакета Caret. Существует много зависимостей пакета Caret. Итак, я сделал следующее

install.packages('caret') Это дает всем пакетам в формате zip, местоположение загрузки показано в сообщении об ошибке. Разархивируйте все пакеты из источника загрузки в папку, например, в 'C:/PublicData/RawRPackages', затем выполните следующую команду.

foldername<-'C:/PublicData/RawRPackages'
install.packages(paste(foldername , 'caret',sep='/'), repos = NULL, type="source")
library(caret, lib.loc=foldername)

install.packages("libname",lib = "file://F:/test")

Другие вопросы по тегам