RStudioで
R Notebook機能を試してみる
Tokyo.R #55
前田 和寛(Kazutan)
2016/7/30
今日のお話
- Rmdの不満
- R Notebook
- R Notebookの仕組み
- 便利なTips
- 注意点
R Markdownとは
- Rでドキュメント生成
- ベースはMarkdwon
- チャンクを組み込むことでコード評価
- 他にもすげぇのたくさん
- 「なにそれ?」
- “rmarkdown gihyo”でおググりください
R Markdownへの不満
- ドキュメント生成はすごい
- でも、出力結果を見るにはknitしないといけない
- 毎回レンダリングするのは面倒
- チャンク内のコードだけを実行できるけど、ConsoleもしくはPlotsに出てくる
- 某Notebookみたいに、すぐ下にでてきてほしい
- R Notebookはいかがでしょう?
R Notebookとは
- R Markdownのoutputのひとつ
- Rmd編集ウィンドウで出力が表示可能
.nb.html
という形式で出力
使ってみよう
- RStudioのPreview版を準備
- {rmarkdown}のgithub版を入れる
- RStudioで“Tools - Global Options…”へ
- “R Markdown”で“Enable R notebook”のチェックをOnに
“File - R Notebook”を選択
Rmdを編集し、チャンクのコードを実行
基本はRmd
- 中身の作り方はRmdと同一
- 基本
html_document
で考えてください
- 冒頭のyamlで設定できる項目については、
?rmarkdown::html_notebook
を参照
- 注意点は後述
.nb.html
形式
- R Notebook HTML Formatという形式とのこと
- 一見はいつものRmd出力のhtmlと同一だけど…
特色
- チャンクコードを実行すると、Consoleに送られる
- その内容を現在の環境で実行して、チャンクの下に出してくる感じ
- もちろんPlotsも同じ
- 編集ウィンドウに出てくるときは、自動的に黄金比で出てくる
- ウィンドウの横幅が変化すると、そのたびに再度(実行してるの全て)出力してくる
ショートカットキー
- Ctrl(Cmd) + Shift + Enter
- 今いるチャンク内のコードを実行
- 多分これは必須ショートカット
- Ctrl(Cmd) + Alt + I
- Rチャンクを挿入
- 事前に選択してショートカットすると、そこが独立してRチャンクに
- Ctrl(Cmd) + Shift + K
- Preview(Knit)を実行
- ドキュメント内のチャンクはすべて再度実行される
出力の全消去・折りたたみ・展開
- 出力の全消去
- 編集ウィンドウの上にある歯車ボタンをクリック
- “Clear All Output”でクリア
- 出力の全折りたたみ
- 編集ウィンドウの上にある歯車ボタンをクリック
- “Collapse All Output”で全部折りたたみ
- 出力の全展開
- 編集ウィンドウの上にある歯車ボタン
- “Expand All Output”で全部展開
Rmdファイルの復元
.nb.html
ファイルには.Rmd
が組み込まれている
- もしRmdファイルがなくても復元可能
- ファイルウィンドウで
.nb.html
をクリック
- “Open in Editor”を選択
- 該当RmdがなくてもRmdファイルが作成され開く!!
self_contained: FALSE
はNG
- いろいろ試したのですが、うまくいきません
- helpには「やらんでね」と名言はなかったけどそういう趣旨の文言があった
- というより、この機能の趣旨にあいません
“Rmd Download”の罠
.nb.html
で出したドキュメントの右側に“Code”というボタンが
- 全コードの表示・非表示を選択可能
- この中にDownload RmdをクリックするとDLできる
- 日本語がうまくいかない
中途半端な実行
- “Ctrl + Enter”で一行ごとで実行可能
- でも、中途飯場に実行してると想定外のことになるかも
- Rチャンクの右上に“Run All Chunks Above”というボタンを!
結局、使いどころは?
- メモを取りながら作業するとき
- まだカチッとしたドキュメントを作る段階じゃない、でもある程度は…
- outputを他のに切り替えれば、すぐに他の形式に出せるしね
- Rmdをtear(別ウインドウで切り離す)して単体で作業
- 画面半分くらいで十分なので、の垢離半分は別の作業できる
- Rmdファイルもセットで配布させたい時
- .nb.htmlのファイルさえあれば復元可能なので