R Language
再現可能なR
サーチ…
前書き
「再現性」とは、他の誰か(おそらくあなたの将来)が、実行したステップを繰り返して同じ結果を得ることを意味します。 再現可能なリサーチタスクビューを参照してください。
備考
再現性のある結果を作成するには、すべての変動要因を修正する必要があります。たとえば、(擬似)乱数ジェネレータを使用する場合、同じ結果を再作成する場合は、シードを修正する必要があります。バリエーションを減らすもう1つの方法は、テキストと計算を同じ文書で結合することです。
参考文献
Peng、RD(2011)。計算における再現可能な研究。 Science、334(6060)、1226-1227。 http://doi.org/10.1126/science.1213847
Peng、Roger D. R. Leanpub、2015のデータ科学のためのレポート作成。https: //leanpub.com/reportwriting。
データ再現性
dput()
とdget()
(望ましい小さな)データフレームを共有する最も簡単な方法は、基本関数dput()
を使うことです。 Rオブジェクトをプレーンテキスト形式でエクスポートします。
注:以下の例のデータを作成する前に、書き込み可能な空のフォルダにいることを確認してください。 getwd()
を実行し、フォルダを変更する必要がある場合は?setwd
を読み込みます。
dput(mtcars, file = 'df.txt')
そして誰でもdget()
関数を使って正確なRオブジェクトをGlobalEnvironmentにロードできます。
df <- dget('df.txt')
大きなRオブジェクトの場合、それらを再現可能に保存するにはいくつかの方法があります。 入力と出力を参照してください。
パッケージの再現性
パッケージの再現性は、いくつかの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特定の日付ごとに、特定のプロジェクトで使用するすべてのパッケージをダウンロードしてインストールする必要があります。それはかなり時間がかかるかもしれません。