2013-12-13 3 views
2

Мне нужно поддерживать среду R на ПК с Windows 7, у которого нет доступа в Интернет.Как загрузить пакеты R с помощью FTP

Я хотел бы загрузить (на DVD, в конечном итоге) текущую версию всех ~ 5000 пакетов, чтобы предоставить пользователям R на этом ПК.

Есть ли сценарий FTP или другой хороший способ для загрузки всех zip-файлов для пакетов R?

Я знаю, что есть ежедневные обновления R, но одного хорошего дня будет достаточно, чтобы начать меня.

+0

Джерри, если любой из нижеприведенных ответов работает для вас, вы можете выбрать один из них в качестве ответа? Просто нажмите галочку. Благодаря! –

ответ

3

Предположительно, у вас есть инсталляция, где есть доступ в Интернет. Я бы просто установил эту установку, чтобы загрузить все. Пример: http://www.r-bloggers.com/r-package-automated-download/. Начало R, и попробуйте следующее:

pkg.list = available.packages() 
download.packages(pkgs = pkg.list, destdir = "C:\\MyRPackages") 

После того, как у вас есть эти файлы, записать их на DVD и взять DVD на автономный компьютер, и копировать их на (не забудьте убедиться, что ваши защиты от вирусов вверх на сегодняшний день, и что ваши ИТ-специалисты не придут на вас, как тонна кирпичей для передачи данных таким образом).

Далее необходимо указать на них автономную машину. Простой способ сделать это - переопределить, где R ищет репозиторий. См. Creating a local R package repository.

В вашем случае, попробовать что-то подобное в R:

update.packages(repos="path-to-my-DVD",repos = NULL, type = "source") 
+1

Удивительный! Работайте отлично! Именно то, что я хочу. Спасибо! – Gerry

+0

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

2

Используйте Rsync для create a mirror, а затем установить пакеты, указывая на локальное зеркало в качестве repos аргумента install.packages. Нет необходимости публиковать общедоступный репозиторий. Специализируйте путь (например, на rsync на основе /bin/windows/contrib/3.0/), чтобы извлекать только двоичные файлы Windows (в каталог, который вы создали с аналогичной структурой repos/bin/windows/contrib/3.0/), если это все, что необходимо для поддержки.

rsync -rtlzv --delete \ 
    cran.r-project.org::CRAN/bin/windows/contrib/3.0/ \ 
    repos/bin/windows/contrib/3.0/ 
+0

Спасибо! Я нахожусь в окнах, поэтому мне нужно найти rsync. Бесплатная версия на https://www.itefix.no/i2/content/cwrsync-free-edition, похоже, работает нормально - я загружаю множество пакетов debian на данный момент. Итак, еще один вопрос: есть ли способ использовать rsync, чтобы просто получить версии Windows? Я ничего не вижу на странице CRAN Mirror HOWTO. – Gerry

+0

Я немного поразмыслил в своем ответе - вместо rsync'ing из корня rsync из корня каталога каталогов Windows версии R, которую вы хотите сделать доступной. –

+0

Первое решение выше работает отлично, поэтому я отказываюсь от этого решения на данный момент. Я могу видеть определенные преимущества с этим подходом, если мне нужно постоянно обновлять версии, но я думаю, что смогу с обновления раз в месяц или квартал, поэтому я сейчас использую решение in-R. – Gerry

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