LoginSignup
1
2

More than 3 years have passed since last update.

R 簡単な作業ディレクトリの設定方法(windows)

Last updated at Posted at 2019-11-19

WindowsではRの作業ディレクトリの設定が面倒

Rで作業する際には、データやスクリプトがあるフォルダを作業ディレクトリとして設定した方が何かと便利である(=絶対パスで呼び出す必要がなくなる)。
Rstudioを利用している場合であれば、スクリプトを開くと自動で作業ディレクトリが設定される。
一方、デフォルトのGUI(Rgui.exe)を使う場合には、「ファイル」>「ディレクトリの変更」から移動する、setwdにフォルダの絶対パスを渡す、choose.dirを使うなどの少々面倒な方法で設定するしかない。

setwd.r
#パスを渡す場合
setwd("C:/Users/hoge/Documents")
#choose.dirを使う場合
setwd(choose.dir()) #このあとGUIで指定する

もっと楽に作業ディレクトリを設定したい!
※ 通常の設定方法についてはこちらの記事こちらのページでくわしくまとめられています。

指定のフォルダを作業ディレクトリとしてRを起動する方法

① Rdataファイルを使う

Rdataファイルをダブルクリックで開くと、その場所を作業ディレクトリとしてRが起動し、Rdataファイル内のデータが読み込まれる。
これを利用し、空のRdataファイルを配置することで指定のフォルダを作業ディレクトリにしてRを起動させる。

1. 空のRdataファイルを作成する

  • Rを起動する
  • 適当なフォルダを作業ディレクトリに設定する
  • 以下のコマンドを入力する
make_Rdata.r
save(list = NULL, file = "dir.Rdata")

これで指定したフォルダに「dir.Rdata」が作成される。

2. 作成された「dir.Rdata」を、自分が作業ディレクトリに指定したいフォルダに移動する

3. dir.Rdataをダブルクリックし、Rを起動する

こちらもgetwdで確認すると、指定のフォルダが作業ディレクトリになっていることがわかる。

なお作業中のワークスペースを保存することでRdataファイルを作る手もあるが、これは個人的には非推奨。理由は、以前の作業におけるオブジェクトがそのまま引き継がれて混乱が起きるため(例えば、diなどの名前がかぶりやすいオブジェクトは、上書きしない限り以前のものがそのまま呼び出される危険性がある)。
データ自体を明確に使いまわししたい時(例えば、一区切りした作業を再開したい時や再計算に時間がかかる時)以外は、スクリプトからオブジェクトを再生成した方が良いと思う。

② アドレスバーを使う

2020年3月4日更新:この方法だとバージョンアップグレードの際に混乱が起きるので、①の方をおすすめします。詳しくは後述。

0. Rgui.exeまでPathを通す

詳しいパスの通し方はこちらを参照。

  • 自分の環境でRgui.exeが格納されているフォルダを確認し、フルパスをコピーする
    • インストール時に設定をいじっていないのであれば、「C:\Program Files\R\R-[バージョン名]\bin\x64」になっているはず
  • 「スタート」>「設定」で「設定の検索」から「環境変数を編集」を探す
  • 「~のユーザー環境変数」の「Path」を選択し、「編集」をクリック
  • 「新規」をクリックし、先ほどコピーしたフォルダのフルパスを追加する(元々入っていたパスを消さないように注意)

環境変数の変更は自己責任で。他のユーザーも使えるようにするならシステム環境変数に追加する

設定はこれで完了。

1. 作業ディレクトリとして指定したいフォルダをエクスプローラで開く

2. Alt+Dを押して、「Rgui」と入力してEnter

アドレスバーをクリックして「Rgui」でもOK。
目的のフォルダを作業ディレクトリとしてRguiが起動する。
getwdで確認すると、指定のフォルダが作業ディレクトリになっていることがわかる。
 参考:エクスプローラから直接Powershellを起動する方法

rgui.gif

ただしこの方法を使った場合、新しいバージョンのRを入れたときには再度環境変数を変更する必要がある。
また前のバージョンのパスを残しておくと、そちらの「Rgui.exe」が呼び出されてしまうので注意。
(2020年3月4日追記)


これで指定したフォルダでRを楽々起動できるようになる(はず)

全然関係ないけど、Rguiで「全てのオブジェクトの消去」を選ぶと「本気ですか?」って聞いてくるの結構面白いと思う。
honki2.png

1
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2