1

コマンド ラインの経験がない同僚とデータと R ソース ファイルを共有する必要があります。さらに、彼女が Windows で作業している間、私は Linux で作業しています。しかし、彼女はいくつかの定数を変更して、スクリプトを再計算したいと考えています。したがって、彼女が R ソース ファイルをダブルクリックするだけで、ソース ファイルとデータ ファイルが存在するディレクトリと同じディレクトリで R が実行されるようになれば素晴らしいと思います。設定を考えました

Rscript -e "source(\"%1\",chdir=TRUE)" 

レジストリの関連付けキーに追加されますが、ファイル名(%1)には R が処理しないバックスラッシュが含まれます。

もう 1 つの方法はsetwd()、スクリプトの先頭でソース ディレクトリに移動することですが、それを取得する方法がわかりません。私の知る限り、ではなく になりargv[0]ます。R.exesource.R

また、GUI を使用すると、ディレクトリを個別に変更してからスクリプトをロードする必要があるため、あまり便利ではありません。

このために R ローダー (exe または cmd) を作成する必要がありますか?

4

2 に答える 2

2

日中は Windows で、夜は Mac OS で作業する人として作成されたいくつかのヒント。両方のマシンに共通の Dropbox フォルダーにプロジェクトを作成します。私はこの作業慣行に従います。

両方のマシンで RStudio を使用しています。スクリプト ファイルをローカルで右クリックして RStudio を起動すると、作業ディレクトリが開いているファイルに設定されます。スクリプト内のすべてのパスを相対パスにすると、プロジェクトを自分自身と簡単に共有できます:)

ばかげているように見える行で、グローバル変数を設定してスクリプトを開始します。

DIR <- getwd()

そして、残りのスクリプト全体で相対パスを使用します。次のような行で:

new.path <- paste(DIR, "rel-path", "to", "new", "file", sep="/")

これにより、各マシンでプロファイルをいじる必要がなくなります。当たり前のように見えますが、朝などにスクリプトが別の場所を指すようにしたい場合に備えて、DIR 値を変更する場所が 1 つあります。

DIR <- "~/workspace/newproject"

または、夕方に、

DIR <- "c:/R_workspace/yet/a/different/project"

また、同じ R バージョンとパッケージを使用していることにも注意する必要があります。

これは単純なフローですが、効果的であり、2 つのシステム間でシームレスに作業できます。

于 2012-04-25T12:32:19.543 に答える
0

おっとっと。エクスプローラーは、ネットワーク フォルダー上にない場合、ソース ディレクトリで R を起動します。最初は、ネットワークフォルダーで起動しようとしました。そのため、ファイルをローカル ドライブにコピーするか、ネットワーク ドライブを文字にマップするしかありません。

于 2012-04-26T01:43:01.360 に答える