包装再现性

在再现一些 R 代码时,包再现性是一个非常普遍的问题。当各种软件包更新时,它们之间的某些互连可能会中断。该问题的理想解决方案是在编写代码的日期在你的计算机上重现 R 代码编写器的机器的映像。这里有 checkpoint 包。

从 2014-09-17 开始,该软件包的作者将整个 CRAN 软件包存储库的每日副本复制到他们自己的镜像存储库 - Microsoft R Archived Network。因此,为了避免在创建可重现的 R 项目时出现包重现性问题,你只需要:

  1. 确保所有包(和 R 版本)都是最新的。
  2. 在代码中包含 checkpoint::checkpoint('YYYY-MM-DD') 行。

checkpoint 将在你的 R_home 目录(~/)中创建一个目录 .checkpoint。在这个技术目录中,它将安装项目中使用的所有软件包。这意味着,checkpoint 查看项目目录中的所有 .R 文件,以获取所有 library()require() 调用,并在指定日期以 CRAN 存在的形式安装所有必需的软件包。

PRO 你可以从包装再现性问题中解脱出来。
CONTRA 对于每个指定的日期,你必须下载并安装在你要重现的特定项目中使用的所有软件包。这可能需要一段时间。