4

私は、多数の学部生の R 初心者と直接 R チュートリアルを教えています。また、他の人が簡単に使用できるように、RPubs でメモをフォーマットしようとしています。作業ディレクトリを誤って指定したり、スプレッドシート ファイルを作業ディレクトリとは別の場所に保存したりすることほど、物事を狂わせるものはありません。

プラットフォーム間で共通の作業ディレクトリを定義することはできますか? たとえば、コード行または次のような関数

setwd( someplace that is likely to exist on every computer)

これには、デスクトップ、ダウンロード フォルダー、R ディレクトリなど、すべてのコンピューターに通常存在する場所を見つける機能が含まれる場合があります。

4

2 に答える 2

4

一般的に、最善の策は、ユーザーのホーム エリアに移動することです。

setwd("~")
path.expand("~")

初心者に教えているため、よくある問題は、学生が R パッケージ ディレクトリに気づき、~/R/スクリプトをこのディレクトリに配置する必要があると思い込むことです。それによって奇妙なバグが作成されます。これを避けるために、私は

dir.create("~/RCourse", FALSE)
setwd("~/RCourse")

RStudio を使用している場合は、RStudio プロジェクトを作成してもらうことができます。

過去に、これが機能しない状況に遭遇しました。たとえば、ホーム エリアをネットワーク ドライブとして使用していても、インターネットに接続したり、ファイアウォールを通過したりできない人がいます。

于 2016-09-03T18:28:18.713 に答える
2

あなたが尋ねた

すべてのコンピューターに存在する可能性が高い場所

はい、R はこれが有効なディレクトリを返すように懸命に働きます: tempdir().

ただし、主な危険は、このディレクトリがセッション後に消えることです (セッションごとの一時ディレクトリを最後に削除するデフォルトの動作をオーバーライドしない限り)。それまでは、うまくいきます。

それでも、これは便利です。私は時々それを使用して、現在のディレクトリに散らかしたくない一時ファイルを書き込んだり、~.

それ以外の場合は、@ csgilespie が$HOMEakaに関する適切な回答を提供してくれました~

于 2016-09-03T18:40:12.277 に答える