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

Для того, чтобы иметь возможность сравнивать две версии пакета, мне нужно выбрать, какую версию пакета я загружаю. Система пакетов R по умолчанию настроена на перезапись существующих пакетов, чтобы у вас всегда была последняя версия. Как мне переопределить это поведение?

Мои мысли на данный момент таковы:

Я мог бы получить исходники пакетов, отредактировать описания, чтобы дать разные имена, и построить, по сути, два разных пакета. Я бы предпочел работать с двоичными файлами напрямую, так как это намного меньше хлопот.

Мне не обязательно загружать обе версии пакетов одновременно (просто установить где-то в одно и то же время). Возможно, я мог бы возиться с Sys.getenv('R_HOME'), чтобы изменить место, где R устанавливает пакеты, и затем .libpaths(), чтобы изменить место, где R ищет их. Это кажется глупым, но у кого-нибудь есть идеи получше?

57
задан 7 June 2010 в 14:06

1 ответ

Много лет передали начиная с принятого ответа, который, конечно, все еще действителен. Могло бы однако стоить упомянуть несколько новых опций, которые повысили в это время:

Управление несколькими версиями пакетов

Для управления несколькими версиями пакетов на проекте (каталог) уровень, packrat инструмент может быть полезным: https://rstudio.github.io/packrat / . В коротком

Packrat улучшает Ваш каталог проекта путем хранения зависимостей от пакета в нем, вместо того, чтобы полагаться персональную библиотеку R, которая совместно используется через все другие сессии R.

Это в основном означает, что каждый из Ваших проектов может иметь свою собственную "частную библиотеку", изолированный от пользователя и системных библиотек. Если Вы используете RStudio, packrat очень аккуратно интегрируется и прост в использовании.

Устанавливающие пользовательские версии пакета

С точки зрения установки пользовательской версии пакета, существует много путей, возможно, самое удобное может использовать пакет devtools , пример:

devtools::install_version("ggplot2", version = "0.9.1")

, С другой стороны, как предложил Richie, существует теперь более легкий пакет, названный пульты ДУ , который является результатом разложения devtools в меньшие пакеты с очень похожим использованием:

remotes::install_version("ggplot2", version = "0.9.1")
[еще 1118] информация о теме может быть найдена:

13
ответ дан 1 November 2019 в 17:12

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

Похожие вопросы: