ルビスコくん空を飛ぶ

博士学生(D1)の日記です.

作業はRのプロジェクトベースで管理しよう

Rのプロジェクト機能の話。

Rを使い続けてはや3年になりましたが、Rの作業を効率化できることに今更気づきました。それは、Rstudioのプロジェクト機能です。まず、RstudioではなくR無印を使っている人はすぐにRstudioに乗り換えたほうがいいです(本題とそれるので詳しくは書きませんが、一番はエディタがすごく優秀だからです)。

 

きっかけ

で、Rstudioって、僕が使っているといろいろな作業をしているうちにタブをいっぱい開きすぎてごちゃごちゃしていたんです。ある解析用のスクリプトを開いて、数時間別の作業をするときに別のスクリプトを開いて、その中でsource()で呼び出すためのRスクリプトを開いて…というようにどんどんタブが増えていってしまいます。こんな状態は非効率だと前から思っていたのですが、ようやくRプロジェクトを使えばいいのだと気づきました。

 

何がいいの?

Rのプロジェクト機能を使うと、プロジェクトごとにタブを管理できます。つまり、自分が設定した作業単位ごとにRstudioを分けられるということです。

例えばRスクリプトA, B, CをXというRプロジェクトの中で開いても、YというRプロジェクトではそれらのスクリプトではそれらの設定は反映されず、D, E, Fというスクリプトを広げられるわけです。そして、環境変数も分けることができます。例えばプロジェクトX(←笑)でパッケージdplyrを読み込んでも、プロジェクトYにはそれは反映されません。

 

プロジェクトの作りかた

Rstudioを開いて、File -> New Project を選択すると中央に新しい画面が出てくるので、New Directory -> Empty Project を選択します。するとプロジェクトフォルダの名前を入力する画面になるので、適当な名前をつけます。こうすると、新しいフォルダができて、そのフォルダの中には"XXX.Rproj"(XXXにはさっきつけた名前が入る)というファイルが格納されています。これでプロジェクトの作成は終了です。

エクスプローラーなどから.RprojファイルをクリックするとRstudioが起動します。また、Rstudioを開いている状態では、画面の一番右上に現在開いているRprojectが表示されています。そこをクリックすると別のプロジェクトが表示されるのでそれをクリックして別のプロジェクトを開くこともできます。

 

スクリプトファイルを管理しよう

冒頭にも書いた通り、プロジェクト機能は自分の作業単位ごとにRの環境を使い分けることを可能にします。プロジェクトに関係するスクリプトだけを開けばタブもかなり整理されます。

このプロジェクトフォルダをベースにデータもスクリプトも整理してしまいましょう。プロジェクトフォルダの中にデータフォルダを作って、それとは別にスクリプト用のフォルダも作れば、スクリプトの管理もかなり簡単になります。画像は一例です。

どうでしょうか。Rのプロジェクト機能、かなりおすすめです。やったことない人は是非やってみてください。

f:id:pam715:20171204225912p:plain