我正在使用内部包“MyPKG”编写可重复分析的协议。每个用户将提供自己的输入文件;除了输入之外,分析应该在相同的条件下运行。(例如,以便我们可以推断不同的结果是由于不同的输入文件)。
MyPKG 正在开发中,因此library(MyPKG)
将加载用户在其本地库中编译的最后一个版本。它还将加载在其本地库中找到的任何依赖项。
但我希望每个人都使用特定版本 (MyPKG_3.14) 进行此分析,同时仍允许开发更新的版本。如果我理解正确,“R --vanilla”将为每个人加载相同的依赖项。
完成后,我们会将工作环境保存为 VM,以保持稳定的可重现环境。因此,临时(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()
吗? - 在服务器上创建一个帐户供所有人使用会更好吗?