Подтвердить что ты не робот

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

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

Мои мысли до сих пор:

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

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

4b9b3361

Ответ 1

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

 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 вы не можете загрузить один и тот же пакет дважды под тем же именем.