Estoy escribiendo un protocolo para un análisis reproducible usando un paquete interno "MyPKG". Cada usuario proporcionará sus propios archivos de entrada; aparte de las entradas, los análisis deben ejecutarse bajo las mismas condiciones. (por ejemplo, para que podamos inferir que los resultados diferentes se deben a diferentes archivos de entrada).¿Cómo puedo garantizar un entorno R uniforme entre diferentes usuarios en el mismo servidor?
MyPKG está en desarrollo, por lo que library(MyPKG)
cargará la que fue la última versión que el usuario compiló en su biblioteca local. También cargará las dependencias encontradas en sus bibliotecas locales.
Pero quiero que todos utilicen una versión específica (MyPKG_3.14) para este análisis, al mismo tiempo que permiten el desarrollo de versiones más recientes. Si entiendo correctamente, "R --vanilla" cargará las mismas dependencias para todos.
Una vez que hayamos terminado, guardaremos el entorno de trabajo como máquina virtual para mantener un entorno estable y reproducible. Entonces una solución temporal (6 meses) será suficiente.
He encontrado dos soluciones posibles, pero no estoy seguro de si es suficiente.
Solicitar al administrador del servidor para instalar MyPKG_3.14 en la ruta predeterminada R y luego proporcionar el código siguiente en el protocolo:
R --vanilla library(MyPKG) ....
o
MyPKG_3.14 de compilación en una biblioteca específica, por ejemplo lib.loc = "/home/share/lib/R/MyPKG_3.14", y luego proporcionar
R --vanilla library(MyPKG)
- ¿Son estos dos enfoques suficientes para asegurar que todo el mundo se está ejecutando el misma versión?
- ¿Es preferible uno al otro?
- ¿Existen otros problemas imprevistos que puedan surgir?
- ¿Existe una opción preferida para estandarizar los análisis múltiples?
- ¿Debo incluir una prueba de la salida de
SessionInfo()
? - ¿Sería mejor crear una sola cuenta en el servidor para que todos la usen?
Gran pregunta. Estoy trabajando en este tema como parte de un proyecto más grande y planeo lanzar una biblioteca que genere rastros de procedencia después de cualquier ejecución. Sería fácil comparar dos rastros y ver si la diferencia son solo datos nuevos o bibliotecas nuevas y se podría modificar según sea necesario si aparecen resultados diferentes. Envíeme un correo electrónico para más detalles. – Maiasaura
@Maiasaura No veo su correo electrónico. ¿Comienza con kram? –
sí. berkeley dot edu – Maiasaura