Как установить только версии пакетов, созданные для определенного выпуска R?

Я использую дистрибутив Revolution R Enterprise, основанный на R 3.2.2. Следовательно, я заинтересован в использовании только версий пакетов, основанных на этом выпуске R. Проверяя такие пакеты, как «checkpoint» или страницу Revolution MRAN, я нашел только способы доступа к моментальным снимкам CRAN по дате. Есть ли способ установить самые последние версии пакетов, все еще совместимые с определенной версией R?


person user107990    schedule 09.03.2016    source источник
comment
Вы имеете в виду как packrat?   -  person Roman Luštrik    schedule 09.03.2016
comment
Позволяет ли packrat сказать «установить все версии пакетов, необходимые для проекта, совместимые с R 3.2.2»? Если да, то действительно пакрат это то, что мне нужно. Я слышал об этом раньше, но избегал этого, так как мои сверстники описали его как глючный.   -  person user107990    schedule 09.03.2016
comment
Я не думаю, что вы сможете так легко отделаться, но, возможно, вы могли бы вручную создать файл, который читается restore, и настроить все так, как будто это миграция. См. пошаговое руководство для получения дополнительной информации.   -  person Roman Luštrik    schedule 09.03.2016
comment
это может помочь   -  person germcd    schedule 09.03.2016


Ответы (1)


Я нашел эвристическое решение своей проблемы:

  1. Узнайте о дате выпуска стабильной версии R, пришедшей на смену вашей рабочей версии.
  2. Настройте сценарий R, который вызывает все пакеты, необходимые для вашего проекта, с помощью отдельных вызовов library() или require().
  3. Используйте checkpoint(release date minus at least one day) для автоматического создания библиотеки для конкретного проекта, которая будет гармонировать с вашей рабочей версией R.

Шаг 2 — это надежный способ обеспечить обнаружение всех необходимых пакетов. Я позвонил им через sapply(package.list, require), с чем checkpoint() не смог справиться. Возможным предостережением против этого решения может быть то, что оно, возможно, не предоставляет самую последнюю версию пакета, которая все еще совместима с вашей старой версией R. В качестве альтернативы, чтобы быть абсолютно уверенным, вместо стабильной версии можно использовать дату предварительной версии, чтобы быть абсолютно уверенным в совместимости.

person user107990    schedule 09.03.2016