вторник, 10 марта 2015 г.

Как быстро обновить R и пакеты под Windows

Как вы знаете, R недавно обновился до версии 3.1.3. Подробности о новшествах можно почитать тут. Я же хочу рассказать как его быстро обновить. В самом обновлении R нет ничего хитрого - удалил старую версию, скачал и поставил новую и... начал вспоминать какие из 100500 пакетов были установлены.
Для решения данной задачи понадобится пакет installr, который можно взять из стандартного репозитория.
Данный пакет позволяет в три команды обновить версию R, перенести установленные пакеты и, если есть желание/необходимость, обновить их до последней версии.  
Для этого в командной строке вводим следующие команды (разумеется, нужен доступ к интернету):

install.packages("installr") # Устанавливаем пакет из репозитория
library(installr) # Загружаем его
updateR() # Запускаем обновление

После запуска появится окошко с сообщением о наличии новой версии. Жмем ОК.
Появляется вопрос о желании почитать о новой версии. Если желание есть - читаем.
Далее следует вопрос о желании установить новую версию R. Поскольку это было нашей целью, соглашаемся. После согласия идет скачивание стандартного установочного дистрибутива R и запускается стандартная установка.
По завершению задается вопрос о желании скопировать установленные пакеты из старой версии в новую. Соглашаемся.

Далее следует вопрос о желании сохранить установленные пакеты в старой версии (No - будут удалены). Казалось бы не логичным сохранять старую версию и пакеты, если есть новые. Если вы недавно работаете с R и вас не так много наработок - скорее всего вы правы. Но те, кто имеет множество наработок с использованием множества пакетов, наверняка знают какой сюрприз может преподнести желание иметь только последнюю версию всего. О логичности в этом случае можно подискутировать со скриптами и пакетами, которые внезапно перестали работать или еще хуже - не перестали, но дают совсем не тот результат, который от них ожидали. Для таких случаев лучше держать несколько версий. Благо система это позволяет.

Далее следует вопрос об обновлении пакетов в новой версии. Комментарий тот же, что и к обновлению R.
После обновления (или не обновления пакетов) появлется вопрос о необходимости запустить RGui.exe. Я делал обновление из RStudio, я не увидел такой необходимости.
Далее вопрос о  выходе из R - соглашаемся. Выдается сообщение о прерывании сессии R - жмем start new session. Собственно, все.
Если вы обновлялись в RStudio, ее необходимо перезапустить. Также по желанию можно удалить старую версию R.

3 комментария: