6 R プロジェクト

R プロジェクトは、持ち運び可能かつ作業に必要なものがすべて揃ったフォルダ内で作業することを可能にします。プロジェクト内では、作業に関連するスクリプト、データファイル、図や出力結果、履歴がすべてサブフォルダに格納されています。作業ディレクトリがプロジェクトのルートフォルダであることは、R プロジェクトの要です。

6.1 推奨する使用方法

R の一般的、効率的、かつトラブルのない使い方は、以下の 3 つの要素を組み合わせることです。1 つの R プロジェクト内には、1 つの個別の作業プロジェクトがホストされています。各要素は、以下のセクションで説明します。

  1. R プロジェクト

    • データ、スクリプト、出力結果など作業に必要なものが格納されている作業環境
  2. 相対パスを作成するための here パッケージ

  3. データをインポート・エクスポートするための rio パッケージ

    • import() および export() は、.csv、.xlsx、.png などの拡張子がついたあらゆる様式のファイルを扱います。

6.2 R プロジェクトの作成

R プロジェクトを作成するには、File メニューから、“New Project” を選択してください。次に、

  • プロジェクト用に新しいフォルダを作成したい場合は、“New directory” を選択し、作成する場所を指定します。
  • 既存のフォルダ内にプロジェクトを作成したい場合は、“Existing directory” をクリックし、フォルダを指定します。
  • Githubのリポジトリをクローンしたい場合は、3 つ目の選択肢である “Version Control” を選択し、そして “Git” を選択してください。詳しくは、Git と Github を使用したバージョン管理と共同作業 の章を参照してください。

R プロジェクトは、.Rproj ファイルを含んだフォルダの形式で作成されます。.Rproj ファイルは、R プロジェクトへのショートカットであり、プロジェクトを開く主な方法となるでしょう。他の方法として、Fileメニューから “Open Project”を選択することでもプロジェクトを開くことができます。または、RStudio の右上端にある R プロジェクトのアイコンをクリックして表示される、利用可能な R プロジェクトのドロップダウンリストから操作してもプロジェクトを開くことができます。

R プロジェクトを終了するには、新しいプロジェクトを開くか、プロジェクトを閉じます(File メニュー上の “Close Project” を選択する)。

プロジェクトの切り替え

別のプロジェクトに切り替えるには、RStudio の右上にある R プロジェクトのアイコンをクリックして表示されるドロップダウンメニューを使用します。“Close Project”(プロジェクトを閉じる)や “Open Project”(プロジェクトを開く)などのオプションが表示される他、最近のプロジェクトのリストも表示されます。

初期設定

一般的に、RStudio は毎回「まっさらな状態」、つまり前回のセッションからワークスペースを引き継いでいない状態で起動することがおすすめされています。これは、オブジェクトや結果がセッション間で引き継がれないことを意味します(スクリプトを実行することにより、オブジェクトや結果を再作成する必要があります)。ワークスペースを引き継がないようにすることで、より良いスクリプトを書くようになり、長期的にはエラーを回避することができるようになる、というメリットがあります。

以下の順序に従って、RStudio を毎回「まっさらな状態」で起動するように設定してください。

  • Tools メニューから “Project Options” を選択します。
  • “Project Options” を開いたら、“General” タブにある “Restore .RData into workspace at startup” を “No” に設定して RStudio が起動時にワークスペースに .RData を復元しないようにし、また、“Save workspace to .RData on exit” も “No” に設定して終了時にワークスペースを .RData に保存しないように設定します。

プロジェクト内の整理

プロジェクト内には、データ、スクリプト、図や出力結果などと名付けられたサブフォルダがあるのが一般的です。サブフォルダは、通常コンピュータに新しいフォルダを追加するのと同じ方法で追加することができます。あるいは、R コマンドによって新しいフォルダを作成する方法が知りたい方は、ディレクトリの操作 の章をご覧ください。

バージョン管理

スクリプトの名前に日付を入れたり(例:「transmission_analysis_2020-10-03.R」)、「アーカイブ(archive)」フォルダを作るなど、簡単な方法でよいので、バージョン管理システムの使用をおすすめします。また、各スクリプトの最初に、スクリプトの概要、タグ、作者、変更履歴をコメントしたヘッダーテキストを置くこともおすすめします。

より複雑なバージョン管理の方法として、Github や同様のプラットフォームを使用したバージョン管理が挙げられます。詳細は、Git と Github を使用したバージョン管理と共同作業 の章を参照してください。

また、役立つヒントとして、“Edit” メニューにある “Find in Files”(ファイル内検索)ツールを使用すると、プロジェクトやフォルダ全体を横断的に検索することができます。複数のファイルにまたがる文字列の検索や置換も可能です。

6.3 R プロジェクトの使用例

以下は、R project 内で here() を使用してデータのインポート、エクスポート、そして保存を行う例です。here パッケージについての詳細は、データのインポート・エクスポート の章をご覧ください。

まず、R プロジェクトにある “data” と名付けられたフォルダから linelist_raw.xlsx ファイルをインポートする例を挙げます。

linelist <- import(here("data", "linelist_raw.xlsx"))

次に、linelist と名付けられたオブジェクトを “my_linelist.rds” という名前の rds ファイルとして、R プロジェクトにある “data” フォルダ内の “clean” と名付けられたフォルダにエクスポートする例です。

export(linelist, here("data","clean", "my_linelist.rds"))

そして、一番最近出力した図を “epicurve_2021-02-15.png” という名前の png ファイルとして、R プロジェクトにある “outputs” フォルダ内の “epicurves” と名付けられたフォルダに保存する例です。

ggsave(here("outputs", "epicurves", "epicurve_2021-02-15.png"))

6.4 参考資料

RStudio 公式ウェブサイト内の R プロジェクトの使用に関するページ をご覧ください。