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

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

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

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

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

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

ask the server admin to install MyPKG_3.14 into the default R path and then provide the following code in the protocol:

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

or

compile MyPKG_3.14 in a specific library, e.g. lib.loc = "/home/share/lib/R/MyPKG_3.14", and then provide

R --vanilla
library(MyPKG)
Are both of these approaches sufficient to ensure that everyone is running the same version? Is one preferable to the other? Are there other unforseen issues that may arise? Is there a preferred option for standardising the multiple analyses? Should I include a test of the output of SessionInfo()? Would it be better to create a single account on the server for everyone to use?

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

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