113

R Markdown、Knitr、Pandoc、および Bookdown の機能間の関係はどのようなものですか?

.Rnw具体的には、R コードが埋め込まれたマークアップ ドキュメント (または など.Rmd) を最終的な出力 (.pdfまたはなど)に変換する際の、これらのパッケージ間の「分担」とは何.htmlですか? また、Knitr を使用して RMarkdown を処理する場合、rmarkdownパッケージは何を行い、 markdown package.

4

1 に答える 1

173

パンドック

Pandoc はドキュメント コンバーターです。さまざまなマークアップ形式から、などの他の多くの形式に変換でき.docます.pdf

Pandoc は、GUI を持たないコマンド ライン ツールです。これは、R とは別の独立したソフトウェアです。ただし、rmarkdownドキュメントの変換には R Studio に依存しているため、R Studio にバンドルされています。

Pandoc はドキュメントを変換するだけでなく、基本的なマークダウン言語の上に機能を追加して、より複雑な出力をサポートできるようにします。

R マークダウン

R マークダウンはマークダウンに基づいています。

Markdown (マークアップ言語)

Markdown は、HTML やその他の多くの形式に変換できるように設計された、プレーン テキスト形式の構文を持つ軽量のマークアップ言語です。マークダウン ファイルは、通常、拡張子が付けられたプレーン テキスト ファイルです.md

HTML や Latex などの他のマークアップ言語と同様に、R から完全に独立しています。

明確に定義された Markdown 標準はありません。これにより、さまざまなベンダーが独自の言語バリアントを作成して欠陥を修正したり、不足している機能を追加したりするため、断片化が発生しています。

マークダウン (R パッケージ)

markdown.Rmdファイルを HTMLに変換する R パッケージです。rmarkdownこれは、より多くの機能を提供する の前身です。使用は推奨されなくなりました。

R Markdown (マークアップ言語)

R Markdown は、markdown 構文の拡張です。R Markdown ファイルはプレーン テキスト ファイルで、通常はファイル拡張子が.Rmd. これらは、後で実行できる方法で R コードを埋め込むことができるマークダウン構文の拡張を使用して記述されています。

それらはrmarkdownパッケージによって処理されることが期待されるため、 Pandoc マークダウン構文を R マークダウン ファイルの一部として使用することができます。これは元のマークダウン構文の拡張であり、生の HTML/Latex やテーブルなどの追加機能を提供します。

R マークダウン (パッケージ)

R パッケージは、ファイルを処理してさまざまな形式にrmarkdown変換するライブラリです。.Rmd

コア機能は、パンドックの肩rmarkdown::render立つことです。この関数は、'pandoc を使用して入力ファイルを指定された出力形式にレンダリングします。入力にニッティングが必要な場合は、knitr::knitpandoc の前に呼び出されます。

RMarkdown パッケージの目的は、Pandoc オプションをカスタマイズするための適切なデフォルトと R に適したインターフェイスを提供することです。.

RMarkdown ファイルの上部に表示される YAML メタデータは、具体的には にオプションを渡しrmarkdown::render、ビルド プロセスをガイドします。

RMarkdown はマークダウン構文のみを扱うことに注意してください。.Rhtmlまたはファイルを変換する場合は、やなどの に.Rnw組み込まれている便利な関数を使用する必要があります。Knitrknitr::knit2htmlknitr:knit2pdf

ニッター

Knitr は、コードが埋め込まれたプレーン テキスト ドキュメントを取得し、コードを実行して、結果をドキュメントに「編み込み」ます。

たとえば、

コア関数はknitr::knit、デフォルトでは、入力ドキュメントを見て、それがどのタイプであるかを推測しようとします - Rnw、Rmd など。

このコア機能は次の 3 つの役割を果たします。 - 入力ドキュメントを見て、ユーザーが評価したいコードの部分を検出するソース パーサー。- このコードを評価するコード エバリュエーター - 未加工の出力タイプで解釈可能な形式で、評価の結果をドキュメントに書き戻す出力レンダラー。たとえば、入力ファイルが の.Rmd場合、出力 render はコード評価の出力を.md形式でマークアップします。

ドキュメント形式間の変換

Knitr は、 を に変換するなど、ドキュメント形式間の変換を行いませ。ただし、他のライブラリを使用してこれを行うのに役立つ便利な関数がいくつか用意されています。 パッケージを使用している場合、この機能は に取って代わられているため、無視する必要があります.md.htmlrmarkdownrmarkdown::render

例としてはknitr:knit2pdf「入力 Rnw または Rrst ドキュメントを編成し、texi2pdf または rst2pdf を使用して PDF にコンパイルする」というものがあります。

混乱の潜在的な原因はknitr::knit2html、 「入力マークダウン ソースを編成し、結果を HTML に変換するために呼び出す便利な関数」です。markdown::markdownToHTMLmarkdownパッケージがパッケージに取って代わられた ため、これはレガシー機能になりましたrmarkdownこの注を参照してください。

ブックダウン

bookdown パッケージは R Markdown の上に構築されており、Markdown 構文の単純さと、複数のタイプの出力形式 (PDF/HTML/Word/…) の可能性を継承しています。

複数ページの HTML 出力、数字/表/セクション/方程式の番号付けと相互参照、部品/付録の挿入、GitBook スタイル ( https://www.gitbook.com ) のインポートなどの機能を提供して、エレガントで魅力的な HTML を作成します。本のページ。

于 2016-11-12T13:45:42.133 に答える