Да, копию CRAN или репозиторий с локальными пакетами легко установить. Предположительно, вы хотите это для Windows, поэтому сделайте следующее:
- Создайте каталог верхнего уровня на вашем веб-сервере, скажем
R/
- Создайте там обычную иерархию:
R/bin/windows/contrib/2.11
. Если вам требуется поддержка других (более ранних) выпусков, просто создайте каталоги 2.10
, 2.9
, ... рядом с каталогом 2.11
.
Поместите нужные вам пакеты в каталог (скажем, 2.11
), затем перейдите в этот каталог и выполните следующую команду, чтобы сгенерировать файлы PACKAGES
и PACKAGES.gz
для хранилища:
tools::write_PACKAGES(".", type="win.binary")
Это все, что нужно - теперь вы можете получить доступ к хранилищу, указав на адрес с помощью команды, такой как
update.packages(repos="http://my.local.server/R", ask=FALSE)
, что я даже делаю в R/zzz.R
для локальных пакетов, чтобы они сами обновлялись.
Отредактируйте примерно пять + лет спустя : И пакет drat теперь автоматизирует многое из этого, и особенно хорошо, если вы также используете GitHub для обслуживания хранилища через http / https (но полезно для других или локальных хостингов тоже).