Como posso garantir um ambiente R consistente entre usuários diferentes no mesmo servidor?
Eu estou escrevendo um protocolo para uma análise reproduzível usando um pacote interno "MyPKG". Cada usuário fornecerá seus próprios arquivos de entrada; além das entradas, as análises devem ser executadas nas mesmas condições. (por exemplo, para que possamos inferir que resultados diferentes são devidos a diferentes arquivos de entrada).
MyPKG está em desenvolvimento, entãolibrary(MyPKG)
carregará qualquer que seja a última versão que o usuário compilou em sua biblioteca local. Ele também carregará quaisquer dependências encontradas em suas bibliotecas locais.
Mas eu quero que todos usem uma versão específica (MyPKG_3.14) para esta análise enquanto ainda permite o desenvolvimento de versões mais recentes. Se bem entendi, "R - vanilla" irá carregar as mesmas dependências para todos.
Quando terminarmos, salvaremos o ambiente de trabalho como uma VM para manter um ambiente estável e reproduzível. Portanto, uma solução temporária (6 meses) será suficiente.
Eu criei duas soluções potenciais, mas não tenho certeza se elas são suficientes.
peça ao administrador do servidor para instalar o MyPKG_3.14 no caminho R padrão e, em seguida, forneça o seguinte código no protocolo:
R --vanilla
library(MyPKG)
....
ou
compilar MyPKG_3.14 em uma biblioteca específica, por exemplo lib.loc = "/home/share/lib/R/MyPKG_3.14", e depois fornecer
R --vanilla
library(MyPKG)
Ambas as abordagens são suficientes para garantir que todos estejam executando a mesma versão?Um é preferível ao outro?Existem outras questões imprevistas que podem surgir?Existe uma opção preferida para padronizar as análises múltiplas?Devo incluir um teste da saída deSessionInfo()
?Seria melhor criar uma única conta no servidor para todos usarem?