1

手動から自動化されたプロセスに移行しており、サポートが必要です。

分析のために一連のRルーチンをフィードするcsvデータファイルを含むディレクトリがあります。ディレクトリには作成日が付けられていますが、ディレクトリ内のすべてのファイルが更新されるわけではありません

ディレクトリ(たとえば、data2012-11-26)には、常に7つの要素があります。

BW_Weekly.csv
BW_Monthly.csv
BW_Yearly.csv
CLR_Weekly.csv
CLR_Monthly.csv
CLR_Yearly.csv
Special_Weekly.csv

その他の制約-古いセットを分析するために、前の日付ディレクトリに戻らなければならない場合があります。「weekly」ファイルは毎週更新され、「monthly」および「yearly」ファイルは月に1回更新されます。

今日の私のワークフローは次のとおりです。毎週月曜日に週次ファイルを電子メールで受信し、翌月の第1月曜日に月次/年次ファイルを受信します(つまり、次の月曜日に、月曜日/年次ファイルで11月の更新を受信します。新しいディレクトリを作成します。現在の月曜日/年次ファイルをそのディレクトリにコピーします。週次ファイルを電子メールからその新しいディレクトリに保存します。R分析ファイルの変数名を新しいディレクトリ名で更新します。分析を実行(ソース)し、プロットします。結果。非常に手動。

私は、より自動化されたプロセスでこれを行うためにgit(およびおそらくmakefileルール)を使用する方法を理解しようとしていました。-あなたが持っているアドバイスはありがたいです-

私のやや混乱した考えは、ファイルが到着したときにgitを使用してファイルをコミット/タグ付けすることです。次に、makefileルールを使用して、1)最新のデータファイルをチェックアウトします。2)結果を実行/プロットしてpdfにします。3)分析のためにpdfを表示します。さらに、ファイルの編集を何度も停止できます...

これにより、次のようなことが可能になります。

git checkout data2012-11-26 (or whatever Monday date I want)
build all (in RStudio Build Tab ideally)

ファイルは大きく、csvファイルあたり約15〜20MBです。gitはそれを処理できますか?そして、誰かがこれを行うことができるmakeルールを手伝ってくれるでしょうか(私は最小限のmakefileルール以外は得意ではありません)...多分チェックアウトも行うのでしょうか?

新しいファイルの命名規則を使用することを受け入れてください-それが役立つと思うなら。

4

1 に答える 1

1

私は確かにこれのために作ることをお勧めします。私は非常によく似た何かをしており、分析を繰り返し可能で、モジュール式で、自動化するための最良の方法に取り組んできました。私は最近これをgithubに投稿しました(したがって、検索時にこの投稿を見つけました)。ここでは難しい答えはありませんが、いくつかの考えがあります。

  • 分析をモジュール化してください。データを取得し、クリーンアップし、処理し、レポート要素を作成し、レポートを作成するための個別のRファイルがあります。
  • すべてのスクリプトが1つの標準データセットにアクセスするようにすると、それらをgitにプッシュして、gitをバージョン管理に任せることができ、異なるデータセットのスクリプトを更新する必要がなくなります。
  • 各ステップの出力とその実行方法を指定する分析用のmakefileを作成すると、makeはすべての依存関係をチェックします

次に、新しいデータファイルを上書きし、makeを実行してすべてを更新できます。古い分析を実行するのは、そのブランチをチェックアウトして分析を再実行するだけです。

于 2013-02-16T07:56:38.550 に答える