I am writing a protocol for reproducible analysis using my own MyPKG package. Each user will provide their own input files; besides inputs, analysis should be performed under the same conditions. (for example, so that we can conclude that different results are associated with different input files).
MyPKG is under development, so the library(MyPKG) download the one that was the last version that the user compiled in his local library. It will also download any dependencies found in their local libraries.
But I want everyone to use a specific version (MyPKG_3.14) for this analysis, while maintaining the possibility of developing later versions. If I understood correctly, "R-vanilla" will load the same dependencies for everyone.
As soon as we finish, we will save the working environment as a virtual machine in order to maintain a stable reproducible environment. Thus, a temporary (6-month) solution will be required.
I came up with two possible solutions, but I'm not sure that they are enough.
ask the server administrator to set MyPKG_3.14 to 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, for example. 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 works in the same version?
- Is another preferable?
- Are there any other unforeseen problems that may arise?
- Is there a preferred option for standardizing multiple analyzes?
- Should I include
SessionInfo() output SessionInfo() ? - Would it be better to create a single server account for all users?
source share