Для того, чтобы иметь возможность сравнивать две версии пакета, мне нужно выбрать, какую версию пакета я загружаю. Система пакетов R по умолчанию настроена на перезапись существующих пакетов, чтобы у вас всегда была последняя версия. Как мне переопределить это поведение?
Мои мысли на данный момент таковы:
Я мог бы получить исходники пакетов, отредактировать описания, чтобы дать разные имена, и построить, по сути, два разных пакета. Я бы предпочел работать с двоичными файлами напрямую, так как это намного меньше хлопот.
Мне не обязательно загружать обе версии пакетов одновременно (просто установить где-то в одно и то же время). Возможно, я мог бы возиться с Sys.getenv('R_HOME')
, чтобы изменить место, где R устанавливает пакеты, и затем .libpaths()
, чтобы изменить место, где R ищет их. Это кажется глупым, но у кого-нибудь есть идеи получше?
Много лет передали начиная с принятого ответа, который, конечно, все еще действителен. Могло бы однако стоить упомянуть несколько новых опций, которые повысили в это время:
Управление несколькими версиями пакетов
Для управления несколькими версиями пакетов на проекте (каталог) уровень, 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] информация о теме может быть найдена: