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