Как я могу обеспечить согласованную среду R среди разных пользователей на одном сервере?

Я пишу протокол для воспроизводимого анализа с использованием собственного пакета "мойпакет», Каждый пользователь будет предоставлять свои собственные входные файлы; кроме входных данных, анализы должны проводиться в тех же условиях. (например, чтобы мы могли сделать вывод, что разные результаты обусловлены разными входными файлами).

MyPKG находится в стадии разработки, поэтомуlibrary(MyPKG) загрузит ту, которая была последней версией, которую пользователь скомпилировал в своей локальной библиотеке. Он также загрузит любые зависимости, найденные в их локальных библиотеках.

Но я хочу, чтобы все использовали конкретную версию (MyPKG_3.14) для этого анализа, но при этом позволяли разрабатывать более свежие версии. Если я правильно понимаю,R --vanilla " загрузит одинаковые зависимости для всех.

Как только мы закончим, мы сохраним рабочую среду как виртуальную машину, чтобы поддерживать стабильную воспроизводимую среду. Так что временного (6 месяцев) решения будет достаточно.

Я предложил два возможных решения, но не уверен, что одного из них достаточно.

попросите администратора сервера установить MyPKG_3.14 в путь R по умолчанию, а затем укажите следующий код в протоколе:

R --vanilla
library(MyPKG)
....

или же

скомпилировать MyPKG_3.14 в определенной библиотеке, например lib.loc = "/home/share/lib/R/MyPKG_3.14", а затем предоставить

R --vanilla
library(MyPKG)
Достаточно ли обоих этих подходов, чтобы гарантировать, что все используют одну и ту же версию?Один предпочтительнее другого?Существуют ли другие непредвиденные проблемы, которые могут возникнуть?Есть ли предпочтительный вариант для стандартизации нескольких анализов?Должен ли я включить тест вывода?SessionInfo()Было бы лучше создать единую учетную запись на сервере для всех желающих?

Ответы на вопрос(1)

Ваш ответ на вопрос