LoginSignup
13
15

More than 5 years have passed since last update.

R Markdownで使えるMarkdown記法

Posted at

この記事の目的

私が大好きなRMarkdownについて、Tipsを集中的に連載しようという思いつきの企画です。あと自分の中で進めている別企画のメモという位置づけでもあります。なので大した中身はありません

R Markdownとは

Markdown記法をベースに、チャンクという形でRのコードを記述して評価・出力することができるものです。RStudioのクイックリファレンスでは以下のように説明してあります:

R Markdown is an easy-to-write plain text format for creating dynamic documents and reports.

注意事項

この記事ではRStudioでの利用を前提にしています。1

Markdownの基本

まずMarkdownにそこまで慣れていない方は、RStudioのクイックリファレンスを見ながら作成することをおすめします。RStudioで[Help] - [Markdown Quike Reference]をクリックすると、Helpビューワーにでてきます。

他のHTML要素

基本のMarkdownには私がよく使う定義リスト(<dl>)などはありません。これらはhtmlタグ直打ちでいけます。Markdownはhtmlタグをそのまま出力します。なのでhtmlタグ直打ちしてもそのまま送り出します。これはRMarkdownでも同様です。

ただし、html直打ち要素とMarkdown記法の要素が混ざるとうまくいかなくなる場合があります。以下のようなコードがあるとします。

<ul>
- list1
<li>list2</li>
</ul>

この場合、大抵うまく表示されません:

    - list1
  • list2

Markdown記法で表現できるのであればMarkdown記法で記述し、必要性がでたらhtmlタグ直打ちにするといいかと。

R Markdownで使えるMarkdown記法

本題です。

正体はpandoc

R Markdownによるドキュメント生成は、超ざっくり言うと以下の流れになります: 2

  1. Rmdファイルに対してrmarkdown::render()を実行
  2. これによりRチャンク部分を評価
  3. 評価した内容を取り込んでmdファイルを生成
  4. mdファイルをpandocが処理し、ドキュメントを生成

はい、そうです。Markdown部分を評価しているのはpandocです。ちなみにRStudioを利用しているなら、RStudio内に組み込まれているpandocに処理が回されます。3 要するにR Markdownで使えるMarkdown記法はpandocによる拡張Markdownとなります。これさえ知っておけば、いざという時はpandocを頼りに調べることができます。

というわけで、rmarkdownの公式サイトにあるPandoc Markdownのドキュメント4がこちらです:

「なんかこんなことできないかなぁ」と思った時は、こちらを確認するといいでしょう。

実際に使ってみるには?

連載のどこかで多分書きます。

Enjoy!


  1. rmarkdown::render()で実行すればそこまで気にしなくてもいい気もしますが、一応前提にします。 

  2. あくまで大枠の流れを示すためにこのような書き方をしています。中ではknitrを呼び出したりyamlを処理したりと色々してますが本筋とずれるので割愛します。 

  3. 明示的に別(ローカル等)のpandocを指定して回すことも可能です。 

  4. このリンク先にはRMarkdownで使えるPandoc Markdown記法がフルで説明されているそうです。 

13
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
15