包裝再現性
在再現一些 R 程式碼時,包再現性是一個非常普遍的問題。當各種軟體包更新時,它們之間的某些互連可能會中斷。該問題的理想解決方案是在編寫程式碼的日期在你的計算機上重現 R 程式碼編寫器的機器的映像。這裡有 checkpoint
包。
從 2014-09-17 開始,該軟體包的作者將整個 CRAN 軟體包儲存庫的每日副本複製到他們自己的映象儲存庫 - Microsoft R Archived Network。因此,為了避免在建立可重現的 R 專案時出現包重現性問題,你只需要:
- 確保所有包(和 R 版本)都是最新的。
- 在程式碼中包含
checkpoint::checkpoint('YYYY-MM-DD')
行。
checkpoint
將在你的 R_home 目錄(~/
)中建立一個目錄 .checkpoint
。在這個技術目錄中,它將安裝專案中使用的所有軟體包。這意味著,checkpoint
檢視專案目錄中的所有 .R
檔案,以獲取所有 library()
或 require()
呼叫,並在指定日期以 CRAN 存在的形式安裝所有必需的軟體包。
PRO 你可以從包裝再現性問題中解脫出來。
CONTRA 對於每個指定的日期,你必須下載並安裝在你要重現的特定專案中使用的所有軟體包。這可能需要一段時間。