Help us understand the problem. What is going on with this article?

R Markdownで使えるMarkdown記法

More than 3 years have passed since last update.

この記事の目的

私が大好きな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記法がフルで説明されているそうです。 

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away