はじめに
これまでの連載ではテキストエディタなどでR Markdownの.Rmdファイルを作成して、生Rのコンソールやバッチでレポート出力するという作業を想定していました。レポート作成がルーチンワークになっていればこれはこれで便利です。しかし、探索的な解析をしながらレポートを作りたいといった場合、Rコード片の記述・評価を行いながら、必要なものをレポートに載せていく、という作業になるため、シンプルで最低限の機能のみを実装した生Rは決して使いやすいものではありません。
ではどうするか。レポート作成環境とRコードの実行環境の共存のために、意識の高い我々は生Rを捨て去り、RStudio を使いましょう。RStudioはRでデータ解析を行うための統合解析環境ともいうべきもので、次のような機能を提供します。
コード記述支援(コード補完・スマートインデント・関数定義へのジャンプ)
プロジェクト機能(非常に便利) ・バージョン管理との統合
デバッグ支援
変数ビューア(エクセル信者必見!)
変数リスト・ファイルリスト
レポート作成支援
RStudioの歴史はそれほど古くはないのですが、現在ではRの統合環境のデファクトスタンダードの地位を確立しつつあり、Rユーザに幅広く利用されているようです(但しESS信者は除く) 。一部の機能については「ドキュメント・プレゼンテーション生成」( シリーズ Useful R 9、共立出版) でも取り上げています。
今回はレポート作成支援にフォーカスしてRStudioの便利機能を紹介します。
インストール
RStudioにはデスクトップ版とサーバ版がありますが、今回はデスクトップ版をインストールします。RStudioのダウンロードサイト からお使いのプラットフォーム用のインストーラをダウンロードしてインストールしてください。本連載執筆時の最新バージョンはRStudio Desktop 0.99.467です。今回はこの最新バージョンを基に解説します。
RStudioの基本
RStudioは4ペイン構成となっています(図1) 。各ペインに割り当てられる機能はカスタマイズできますが、デフォルトでは左上がエディタ・変数ビューア、左下がコンソール、右上が変数リスト・履歴等、右下がプロット・ヘルプ・ファイルリストなどです。
図1 RStudioの画面
R Markdownの新規作成
R Markdownファイル(.Rmd)を新規作成するには、メニューから[File]-[New File]-[R Markdown]
を選択します。エディタ左上の+
ボタンのアイコンからも選ぶことができます。新規作成ダイアログ(図2)が開くので、ここで[Document]
を選択して、タイトルや著者、出力フォーマットなどのメタ情報を入力します。これらのメタ情報は.Rmdファイルのフロントマターに出力されるだけなので、後から自由に修正・変更できます。
図2 R Markdownの新規作成
ここではHTMLレポートを選択しておきましょう。[OK]
をクリックすると、エディタパネルにテンプレートの.Rmdファイルが新規作成されます(図3) 。ファイル先頭に先ほど入力したメタ情報が自動的に埋め込まれていています。また、フロントマター以外(青で選択された部分)は必要ないので、速攻で削除しましょう。
図3 エディタパネルに作成された.Rmdファイル
R Markdownの編集
R Markdownファイルに記述する内容についてはこれまでの連載で解説してきました。RStudioにはR Markdownの編集支援機能が付いているので、手際よくレポートを作成することができます。またショートカットキーも多数提供されています。利用できる主なキーボードショートカットは[HELP]-[Keyboard Shortcuts]
で確認できます。RStudio公式サイトにはキーボードショートカット一覧 もあります。この記事の末尾にR Markdownの編集に便利なキーボードショートカットを掲載しておきます。
エディタパネル右上の[Chunks]
というアイコンをクリックすると、チャンクに関する次のような支援機能を利用できます(図4) 。
図4 Chunksアイコンクリック時のメニュー
[Insert Chunk]
:コードチャンクの挿入
[Run Previous Code]
:カーソルより前のコードの実行
[Run Current Chunk]
:カーソルのあるチャンクのコードの実行
[Run Next Chunk]
:カーソルの次のチャンクのコードを実行
[Run All]
:全てのコードチャンクのコードを実行
これらのコード実行支援は、チャンクを記述しながら動作を確認するのに大変重宝します。キーボードショートカットを使えば、より効率的に作業が進むことでしょう。
[Chunk]
アイコンの[Jump To]
(図4)またはエディタパネル左下の領域(図5)をクリックすると、指定するチャンクにジャンプできます。チャンクラベルが記述されていれば、チャンクラベルによってジャンプ先を指定できます。.Rmdファイルが巨大化してきた時には大変便利な機能です。
図5 チャンクの移動
コードチャンクの先頭と最後の行には、エディタの行番号の右側に三角形の小さなアイコンが見えます(図6) 。これをクリックするとコードチャンクを折りたたみ表示できます。boke
チャンクは折りたたまれた状態です。展開するには三角形アイコンを再びクリックするか、チャンクヘッダ右の<->
という記号をクリックします。またメニューの[Edit]-[Folding]-[Collapse All]
で全てのチャンクを折りたたむことができます。[Edit]-[Folding]-[Expand All]
で全てのチャンクを展開します。長いコードがある.Rmdファイルで、レポートの文書構造を確認したいときなどには、めっちゃ便利です。
図6 チャンクの折りたたみ・展開
また、エディタパネル上にある[?]
アイコンをクリックして、[Markdown Quick Reference]
を選択すると、ヘルプパネルにマークダウン記法の一覧が表示されます。地味に便利です。
レポート形式・オプション設定とレポート作成
エディタパネルの上にある歯車アイコンをクリックすると、ダイアログが表示されて、R Markdownのレポート形式やオプションを設定できます(図7) 。PDFレポートやDOCX形式のレポート出力を行うように設定することもできます。なお、ここでの設定は.RmdのYAMLフロントマターに反映されるだけなので、直接フロントマターを書き換えても全く問題ありません。
同様にエディタパネル上の[Knit HTML]
アイコンをクリックすると、R Markdownの変換処理が実行されて、ビューアパネルまたは独立のウィンドウにレポートが表示されます。.Rmdを保存していない場合は、文字コードとファイル名を指定するダイアログが出てくるので、適当に設定しましょう。
図7 設定とレポート作成
このように、RStudioは探索的な解析を行いながらレポートを作成する状況では非常に便利な統合環境です(但しESS信者は除く) 。是非試してみてください。
R Presentation
前回 の連載ではR MarkdownでWebスライドを作成する方法を紹介しました。RStudioでは、これらとは別にR Presentationという形式のWebスライドを作成することができます。
R Presentationを作成するには、まず[File]-[New]-[R Presentation]
を選択します。ファイル名を指定するダイアログが出てくるので、適当に指定しましょう。ダイアログを[OK]
すると、テンプレートが開きます。おっと、なんということでしょう。プレビューパネルにスライドのプレビューが表示されています(図8) 。そうです、R Presentationでは、編集しながらその場で見た目をプレビューできるのです。編集して保存すると、自動的にプレビューが更新されて、カーソルがあるページが表示されます。
図8 R Presentation
なお、R Presentationの書式はR Markdownとホンの少しだけ異なるので注意しましょう。YAMLフロントマターは不要です。またページ区切りは以下のようにします。
スライドタイトル
========================================================
コードチャンクの記述の仕方、これ以外のマークダウン記法等はR Markdownと同じですので、これまでの連載でR Markdownについて学んでいれば、R Presentationも問題なく使うことができるでしょう。
キーボードショートカット
R Markdownの編集に便利なショートカットを抜粋して掲載します。これ以外のショートカットはRStudio公式サイトキーボードショートカット一覧 を参考にしてください。
レポート作成
Ctrl+Shift+K
⌘+Shift+K
新規チャンクの挿入
Ctrl+Alt+I
⌘+Option+I
カーソル前のコードの実行
Ctrl+Alt+P
⌘+Option+P
現在行のチャンクコードの実行
Ctrl+Alt+C
⌘+Option+C
次のチャンクコードの実行
Ctrl+Alt+N
⌘+Option+N
現在行のチャンクの折りたたみ
Alt+L
⌘+Option+L
現在行のチャンクの展開
Shift+Alt+L
⌘+Shift+Option+L
全てのチャンクの折りたたみ
Alt+O
⌘+Option+O
全てのチャンクの展開
Shift+Alt+O
⌘+Shift+Option+O
指定のチャンクにジャンプ
Shift+Alt+J
⌘+Shift+Option+J
キーボードショートカット一覧
Alt+Shift+K
Option+Shift+K
第8回のさいごに
いかがでしょうか? RStudioの便利さがわかって頂けたでしょうか?
R Markdownの編集だけでもこれだけ便利なわけで、最初に紹介した便利機能をフル活用してRStudioの便利さを一度経験してしまうと、間違いなく生Rには戻れません。意識の高い我々は、今こそ生Rを捨て去り、RStudioを使いましょう(但しESS信者は除く) 。
今回RStidioの記事を書くにあたり、RStudioチーフサイエンティストであり、ggplot2を含む数多くの人気パッケージの開発者、Rユーザの一部から神と崇められてるHadley Wickham氏よりメッセージをもらったので最後に紹介します。
We’re so happy that R and R Studio are popular in Japan. Enjoy your data analyses in R!
連載のさいごに
本連載は今回で最終回となります。これまで8回にわたる連載、そしてくだらない小ネタにお付き合い頂きありがとうございます。
連載中、誌面や執筆時間の都合上、説明を簡略化した部分も多々あります。レポートづくりで困ったことがありましたら、著者ツイッター @kohske 、「Rワカラング」 やチャットルーム (要メールアドレス登録 )で気軽に質問してください。
本連載が日々のレポートづくりに頭を抱える皆さまにとって少しでも助けになれば著者冥利につきます。