6

私は2つの単純なニーズのためにいくつかの場所を掘り下げてきましたが、最終的な答えを見つけることができませんでした.

R スクリプトをバッチ モードで実行しています。私のソリューションが最適かどうかはわかりませんが、バットに含まれているhttp://stat.ethz.ch/R-manual/R-patched/library/utils/html/BATCH.htmlに従って R CMD BATCH を使用していますファイル。

まず、R スクリプトが保存されているディレクトリを、bat ファイルが保存されている場所ではなく、作業ディレクトリとして設定したいと考えています。

次に、R スクリプト (csv ファイルとチャート) からのすべての出力を、作業ディレクトリ以外の特定のディレクトリに転送したいと考えています。そのような基本的な要件のオプションが見つかりません。

最後のアイデアは、R スクリプトが保存されている場所に関係なく、異なるコンピューター間でバット ファイルを実行できるようにすることです。

ありがとう

4

1 に答える 1

10

あなたはコードを与えないので、私の答えは単なるアドバイスまたはそのような仕事のために私がすることになります。

  1. これを使用Rscript.exeして、バッチ スクリプトを使用します。R CMD は一種のレガシー ツールです。
  2. 作業ディレクトリを設定または変更する必要はありません。トラブルの元です
  3. 必要な場所でbatファイルを起動し、その中でcdを使用してRスクリプトの場所に移動できます。たとえば、batファイルは次のようになります。

    cd R_SCRIPT_PATH
    Rscript youscript.R arg1 arg2
    
  4. スクリプト引数の 1 つを結果ファイルの出力ディレクトリとして使用できます。たとえば、スクリプト内で次のようなことを行います。

    args <- commandArgs(trailingOnly = TRUE)
    resultpath <- as.character(args[1])
    .....
    write.table(res1, file=paste(resultpath,'res1.csv',sep='/')
    
于 2013-05-29T10:22:31.223 に答える