Tokyo.R #53 LT「R Markdownのちょいネタ集」
このリポジトリでは当日発表したスライド、および関連資料をおいてます。
発表資料
各ネタについて
タブ機能について
rmarkdown v0.9.5から、htmlドキュメント内にタブを組み込めるようになりました。
このタブ機能のベースはbootstrapの機能で、元々rmarkdownにはbootstrapが組み込まれていました。なのでhtmlタグを利用すれば実装可能だったのですが、今回の実装でhtmlタグなしで簡単に使えるようになりました。
クラス付与はPandoc Markdownの機能で行い、タブ部分についてはjavascriptで自動生成するようにしているみたいです。なおタブ部分に日本語を利用する際には、冒頭のyamlにmd_extentions: -ascii_identifiers
を追加するようにしてください。でないと多分コケます。てかRmd全般で、見出し要素に日本語を使うなら多分これいれといた方がいいでしょう
フローティングTOCについて
これもタブ機能と同様、rmarkdown v0.9.5で実装されました。TOC自体はPandoc Markdownの機能で以前から利用可能でしたが、ころフローティングについてはbootstrapの機能です。注意事項はタブ機能と同一ですので省略します。
新規Rmdファイル作成関数について
私の使い勝手のために作成しました。なので今のところ個人利用パッケージにおいてます。自分の気の赴くままに編集・更新します。
RmdでWebサイト作成
実は以前からRmdでWebサイトを作成する方法はあって、その方法も公開されていました。ただそのやり方がちょっと面倒で、buildもしづらいというのがありました。
今回RStudioのプレビュー版でProject Option...のbuild toolsで、Websiteというのが追加され、まとめてbuildができるようになりました。サイトに関する設定などは_site.ymlに記述することで色々設定できます。なお、これらをちゃんと読み込んでbuildするためにはgithub版のrmarkdownが必要です。
ここで生成されるサイトのベースデザインはやはりbootstrapです。なのでthemeにbootstrapのテーマを設定すれば各種テーマをあてることができます。またオリジナルのcssフレームワークも設定可能です…が、おそらく相当な検証が必要になるかと思います。特にメニュー周りが。
ダッシュボード作りたいについて
これはflexdashboardパッケージを利用しています。最大のポイントはRmdファイルひとつだけで完結するところです。
同パッケージをインストールすると、Rmdを新規で作成するときにTempleteに準備されるようになります。まずはこれをそのままknitして確認するといいと思います。
おそらく、これとR Markdownのparameter機能を組み合わせると、恐ろしく有用なコンテンツが作成できるようになります。ダッシュボードはいわゆるレポートなので、例えばある対象に関するレポートをダッシュボードで作ります。ここで対象リストを準備し、それをR Markdownのparamで指定してしまえば…。
ライセンスについて
MIT.