R Markdown、Knitr、Pandoc、Bookdown の機能の関係は何ですか?
.Rnw
具体的には、R コードが埋め込まれたマークアップ ドキュメント (例:または.Rmd
) を最終出力 (例:.pdf
または) に変換する際の、これらのパッケージ間の「分業」とは何でしょうか.html
。また、Knitr を使用して RMarkdown を処理する場合、rmarkdown
パッケージは何を実行し、 とどう違うのでしょうかmarkdown package
。
ベストアンサー1
パンドック
Pandoc はドキュメントコンバータです。さまざまなマークアップ形式を、などの他の多くの形式に変換できます.doc
。.pdf
Pandoc は GUI のないコマンドライン ツールです。R とは別の独立したソフトウェアです。ただし、rmarkdown
ドキュメント変換には R Studio を使用するため、R Studio にバンドルされています。
Pandoc はドキュメントを変換するだけでなく、ベースのマークダウン言語の上に機能を追加して、より複雑な出力をサポートできるようにします。
R マークダウン
R Markdown はマークダウンに基づいています:
Markdown(マークアップ言語)
Markdown は、HTML やその他の多くの形式に変換できるように設計されたプレーン テキストの書式設定構文を持つ軽量マークアップ言語です。Markdown ファイルは、通常、拡張子が . であるプレーン テキスト ファイルです.md
。
HTML や Latex などの他のマークアップ言語と同様に、R からは完全に独立しています。
明確に定義された Markdown 標準はありません。そのため、さまざまなベンダーが独自の言語バリアントを作成し、欠陥を修正したり、不足している機能を追加したりしているため、断片化が生じています。
Markdown (R パッケージ)
markdown
は、ファイルをHTMLに変換するRパッケージです.Rmd
。これは、rmarkdown
は、より多くの機能を提供します。これを使用することは推奨されません。
R Markdown(マークアップ言語)
R Markdown は、マークダウン構文の拡張です。R Markdown ファイルは、通常、ファイル拡張子 を持つプレーンテキスト ファイルです.Rmd
。これらは、マークダウン構文の拡張を使用して記述されており、R コードを後で実行できるように埋め込むことができます。
パッケージで処理されることが予想されるためrmarkdown
、Pandoc マークダウン構文R マークダウン ファイルの一部として。これは、生の HTML/Latex や表などの追加機能を提供する、元のマークダウン構文の拡張です。
R Markdown (パッケージ)
R パッケージは、ファイルを処理してさまざまな形式にrmarkdown
変換するライブラリです。.Rmd
コア機能rmarkdown::render
はパンドックの肩の上に立つこの機能'pandoc を使用して入力ファイルを指定された出力形式にレンダリングします。入力に knitting が必要な場合は、knitr::knit
pandoc の前に呼び出されます。
RMarkdownパッケージの目的は単純にPandoc オプションをカスタマイズするための、適切なデフォルトと R フレンドリーなインターフェースを提供します。。
RMarkdown ファイルの先頭に表示される YAML メタデータは、具体的には、rmarkdown::render
ビルド プロセスをガイドするために にオプションを渡すために使用されます。
.Rhtml
RMarkdownはマークダウン構文のみを扱うことに注意してください。またはファイルを変換したい場合は.Rnw
、 に組み込まれている便利な関数Knitr
、たとえばknitr::knit2html
や を使用してください。knitr:knit2pdf
ニット
Knitr は、コードが埋め込まれたプレーンテキスト ドキュメントを受け取り、コードを実行して、結果をドキュメントに「編み込み」ます。
例えば、
- アンR マークダウン (
.Rmd
)ファイルを標準のマークダウンファイルに変換する (.md
) - アン
.Rnw
(スウィーブ)ファイルを.tex
フォーマットします。 - アン
.Rhtml
ファイルを HTML に変換します。
コア関数はknitr::knit
、デフォルトでは入力ドキュメントを調べて、そのタイプ(Rnw、Rmd など)を推測します。
このコア関数は、次の 3 つの役割を果たします。 - 入力ドキュメントを調べて、ユーザーが評価したいコードの部分を検出するソース パーサー。 - このコードを評価するコード エバリュエーター。 - 評価結果を、生の出力タイプで解釈可能な形式でドキュメントに書き戻す出力レンダラー。たとえば、入力ファイルが の場合、.Rmd
出力レンダラーは、コード評価の出力を.md
形式でマークアップします。
ドキュメント形式間の変換
Knitrはない.md
ドキュメント形式間の変換 (を に変換するなど) を行います.html
。ただし、他のライブラリを使用してこれを行うのに役立つ便利な関数がいくつか用意されています。パッケージを使用している場合rmarkdown
、この機能は に置き換えられているため無視してくださいrmarkdown::render
。
例knitr:knit2pdf
:「入力された Rnw または Rrst ドキュメントを編成し、texi2pdf または rst2pdf を使用して PDF にコンパイルします。」
混乱の元となる可能性があるのはknitr::knit2html
、markdown::markdownToHTML
「入力されたマークダウンソースを編み込み、結果を HTML に変換するために呼び出す便利な関数です。」markdown
これは、パッケージがパッケージに置き換えられたため、レガシー機能になりましたrmarkdown
。このメモ。
ブックダウン
bookdown パッケージは R Markdown 上に構築されており、Markdown 構文のシンプルさと、複数の種類の出力形式 (PDF/HTML/Word/…) の可能性を継承しています。
複数ページのHTML出力、図/表/セクション/方程式の番号付けと相互参照、部品/付録の挿入、GitBookスタイルのインポートなどの機能を提供します(https://www.gitbook.com) を使用して、エレガントで魅力的な HTML ブック ページを作成します。