Чтобы смочь сравнить две версии пакета, я должен к способному выбрать, какая версия пакета, который я загружаю. Система пакета R установлена на по умолчанию перезаписать существующие пакеты, так, чтобы у Вас всегда была последняя версия. Как я переопределяю это поведение?
Мои мысли до сих пор:
Я мог получить источники пакета, отредактировать описания для давания различных имен и сборки, в действительности, двух различных пакетов. Я смог бы работать непосредственно с двоичными файлами, хотя, поскольку это - намного меньше стычки.
У меня должны не обязательно быть обе версии пакетов, загруженных одновременно (просто установленный где-нибудь одновременно). Я мог, возможно, иметь предосудительные отношения Sys.getenv('R_HOME')
изменить место, где R устанавливает пакеты, и затем .libpaths()
изменить место, где R ищет их. Это кажется hacky, хотя, у кого-либо есть какие-либо лучшие идеи?
Вы можете выборочно изменить путь к библиотеке. Для полной прозрачности держите их подальше от обычного пути, а затем выполните
library(foo, lib.loc="~/dev/foo/v1") ## loads v1
и
library(foo, lib.loc="~/dev/foo/v2") ## loads v2
. То же самое, конечно же, работает для install.packages ()
. У всех этих команд есть ряд аргументов, так что ловушки, на которые вы нацелены, могут уже присутствовать. Так что не смотрите на изменение R_HOME
, лучше посмотрите на help (install.packages)
(при условии, что вы устанавливаете из исходников).
Но, AFAIK, вы не можете загрузить один и тот же пакет дважды под одним и тем же именем.