RStudioで
R Notebook機能を試してみる

Tokyo.R #55

前田 和寛(Kazutan)

2016/7/30

はじめに

自己紹介

  • 比治山大学短期大学部
  • @kazutan
    • Twitter
    • GitHub
    • Qiita
  • http://blog.kz-md.net/
  • Rおじさんになりたい

icon

今日のお話

  • Rmdの不満
  • R Notebook
  • R Notebookの仕組み
  • 便利なTips
  • 注意点

Rmdの不満

R Markdownとは

  • Rでドキュメント生成
    • ベースはMarkdwon
    • チャンクを組み込むことでコード評価
    • 他にもすげぇのたくさん
  • 「なにそれ?」
    • “rmarkdown gihyo”でおググりください

R Markdownへの不満

  • ドキュメント生成はすごい
  • でも、出力結果を見るにはknitしないといけない
    • 毎回レンダリングするのは面倒
    • チャンク内のコードだけを実行できるけど、ConsoleもしくはPlotsに出てくる
    • 某Notebookみたいに、すぐ下にでてきてほしい
  • R Notebookはいかがでしょう?

R Notebook

R Notebookとは

  • R Markdownのoutputのひとつ
  • Rmd編集ウィンドウで出力が表示可能
  • .nb.htmlという形式で出力

使ってみよう

  1. RStudioのPreview版を準備
  2. {rmarkdown}のgithub版を入れる
  3. RStudioで“Tools - Global Options…”へ
  4. “R Markdown”で“Enable R notebook”のチェックをOnに

“File - R Notebook”を選択

Rmdを編集し、チャンクのコードを実行

R Notebookの仕組み

基本はRmd

  • 中身の作り方はRmdと同一
    • 基本html_documentで考えてください
    • 冒頭のyamlで設定できる項目については、?rmarkdown::html_notebookを参照
  • 注意点は後述

.nb.html形式

  • R Notebook HTML Formatという形式とのこと
  • 一見はいつものRmd出力のhtmlと同一だけど…

特色

  • チャンクコードを実行すると、Consoleに送られる
    • その内容を現在の環境で実行して、チャンクの下に出してくる感じ
  • もちろんPlotsも同じ
    • 編集ウィンドウに出てくるときは、自動的に黄金比で出てくる
    • ウィンドウの横幅が変化すると、そのたびに再度(実行してるの全て)出力してくる

便利なTips

ショートカットキー

  • Ctrl(Cmd) + Shift + Enter
    • 今いるチャンク内のコードを実行
    • 多分これは必須ショートカット
  • Ctrl(Cmd) + Alt + I
    • Rチャンクを挿入
    • 事前に選択してショートカットすると、そこが独立してRチャンクに
  • Ctrl(Cmd) + Shift + K
    • Preview(Knit)を実行
    • ドキュメント内のチャンクはすべて再度実行される

出力の全消去・折りたたみ・展開

  • 出力の全消去
    1. 編集ウィンドウの上にある歯車ボタンをクリック
    2. “Clear All Output”でクリア
  • 出力の全折りたたみ
    1. 編集ウィンドウの上にある歯車ボタンをクリック
    2. “Collapse All Output”で全部折りたたみ
  • 出力の全展開
    1. 編集ウィンドウの上にある歯車ボタン
    2. “Expand All Output”で全部展開

Rmdファイルの復元

  • .nb.htmlファイルには.Rmdが組み込まれている
  • もしRmdファイルがなくても復元可能
    1. ファイルウィンドウで.nb.htmlをクリック
    2. “Open in Editor”を選択
    3. 該当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のファイルさえあれば復元可能なので

参考資料

Enjoy!