要約
- おすすめのコード保管方法を紹介
- R Notebook/ R Markdownを使ってコード作成するのがおすすめ
概要
RStudioでのコードの書き方に関しておすすめの方法を紹介したいと思います。どの方法でコードを作成してもよいと思いますが、とにかく保存して後から見直せるようにしておくことが重要です。今回は以下3つのパターンを取り上げて紹介したいと思います。
- R Scriptを使うパターン
- R Markdownを使うパターン
- R Notebook を使うパターン
3つのパターンの比較
上で紹介した3つのパターンの特徴を比較すると以下の表のようになります。
R Script | R Markdown | R Notebook | |
特徴 | シンプルにコードのみを保存する | 出力結果を含めたレポートを作成できる | R Markdownの1種でより手軽にコードを作成・修正できる |
利点 | 手早くコードが作成できる | 色々な形式(ワード、HTML、PDF、パワポなど)のレポートを作成できる。 | ・レポート作成(Knit操作)にかかる時間が短い ・見栄えを確認しながら作成できる |
欠点 | レポートは作成できない | レポート作成時に全てのコードを実行するため時間がかかる | ミスに気づきにくい (全コードを実行するわけではないため、一部に不一致があっても気づきにくい) |
用途例 | 頻繁に実施する処理に用いるコードの保管 | ・きちんとした解析作業報告書の作成 ・プレゼンテーション資料の作成 | ・試行錯誤する可能性のあるコードの作成 ・R Markdown作成時の下書き(動作確認) |
R Scriptを使う場合
シンプルにRのコードを作成する場合は「R Script」でコードを書くことをお勧めします。R Scriptはコードのみを保存しておくことができる方法です。新しくR Scriptを作る方法は以下の画像の通りです。(もしくは「CTRL」+「SHIFT」+「N」でも作成できます。)
画像の通りに操作すると左上(Source Pane)に白紙のR Scriptファイルが表示されると思います。ここにコードを書いていきます。
RStudio上では R Scriptに書いたコードを全部一気に実行したり、部分的に実行したり出来ます。実行法は以下の通りです。
- 全部実行 :「CTRLキー」+「SHIFTキー」+「ENTERキー」
- 部分的に実行:「CTRLキー」+「ENTERキー」
R Markdownを使う場合
コードだけでなく図や表などの出力結果やコメント等も一緒にまとめて保存したい場合は「R Markdown 」でコードを書くことをおすすめします。新しくR Markdownを作る方法は以下の画像の通りです。
初めてR Markdownを使う時は必要なパッケージをインストールする必要があるため、パッケージのインストールを実行してください。インストールの流れは以下の通りです。
作成したR Markdownファイルはファイルを保存(「CTRL」+「S」キー もしくは「Save Current Document()」アイコンをクリックで保存できます。)した後、ファイルをニット(「CTRL」+「SHIFT」+ 「K」キー もしくは Knit the current documentボタンをクリック)するとレポートを書きだすことができます。
今回の例ではHTMLで出力するように設定した(Default Output FormatをHTMLにした)ため、下図のようにHTML形式のレポートを作成することができます。このレポートもファイルをニットすれば保存されるため、後から解析した内容をコードと出力結果とともに見直すことができます。
R Notebookを使う場合
出力結果やコメントなどのコード以外の情報を記録し、作成されるレポートの見栄えなどを細かく確認しながら解析を進めたい場合は「R Notebook」でコードを書くことをおすすめします。
新しくR Notebookを作る方法は以下の画像の通りです。
新しく作成された R NotebokはSource Pane(画面左上のウィンドウ)に表示されると思います。作成直後はデモコードが記載してあると思うのでこれを編集すると良いです。
R Notebook も R Markdown と同様にレポートを作成することができます。レポートを作成するときは「Preview」ボタンを押します。
ここまで見ると、ほとんど同じに見えるR Markdown と R Notebookですが、大きな違いは、R Markdownはレポートを作成するときに全てのコードチャンクを実行するのに対し、R Notebookはチャンクの実行は行わずにレポートを作成する時点での出力結果を用いてレポート形式に出力する点にあります。
この違いがあるため、R markdownはすべてに一貫性があり再現性のあるレポートが作成できるため、きちんとしたレポートという印象があります。一方で R Notebookは特定のチャンクだけ書き直しをしたせいで他のチャンクに影響が生じる場合でも、影響が生じたチャンクを実行しないままレポート作成するとその影響が反映されないレポートが作成されるためミスが生じやすいレポートになります。しかし、R Notebookの方がレポートを確認する際に時間がかからないので、レポートの見栄えがどうなっているか確認しやすく、きれいなレポートを作成しやすいという利点もあります。
そのため、これら2つの使い方としては、 「R Notebookで下書きを作成し、これをそのまま R Markdwonに変更して本番のレポートとして使用する」という使い方をお勧めしたいと思います。