包裝再現性

在再現一些 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 對於每個指定的日期,你必須下載並安裝在你要重現的特定專案中使用的所有軟體包。這可能需要一段時間。