社内パッケージ「MyPKG」を使って再現性のある解析のプロトコルを書いています。各ユーザーは、独自の入力ファイルを提供します。入力以外は、分析は同じ条件下で実行する必要があります。(たとえば、異なる結果が異なる入力ファイルによるものであると推測できるようにするため)。
MyPKG は開発中であるためlibrary(MyPKG)
、ユーザーがローカル ライブラリでコンパイルした最後のバージョンをロードします。また、ローカル ライブラリで見つかった依存関係も読み込みます。
しかし、この分析には特定のバージョン (MyPKG_3.14) を使用して、より新しいバージョンの開発を許可したいと考えています。私の理解が正しければ、「R --vanilla」はすべての人に同じ依存関係をロードします。
完了したら、安定した再現可能な環境を維持するために、作業環境を VM として保存します。したがって、一時的な (6 か月) ソリューションで十分です。
考えられる解決策を 2 つ思いつきましたが、どちらでも十分かどうかはわかりません。
サーバー管理者に 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()
ますか? - 全員が使用できるように、サーバー上に 1 つのアカウントを作成した方がよいでしょうか?