R MarkDownとR NoteBookの違い


136

との違いを高レベルで理解しようR MarkdownとしていR NoteBookます。私はそれらが相互に関連していることを知っていますが、それらがどのように関連しているかを理解したいと思います。私の理解はこれです:

私はR Notebookが本当にR Markdown文書であることを知っていますが、用語について混乱しています。

RStudioの新しいファイルオプションには両方がR MarkdownありR NoteBook、どちらかを選択するとR Markdownファイルが開きますが、わずかな違いがあります。それでは、なぜ2つのオプションがあり、その2つのオプションの違いは何かを理解しようとしていますか?

ここに画像の説明を入力してください

R Notebookが新しく導入され、R Markdownがしばらく前から存在していることを理解しています。混乱の一部は、R MarkdownR Notebookが導入される前に使用したことがないために発生する可能性があるため、私の関連する質問またはより具体的な質問は

R NoteDownはR MarkDownを使用する場合とは異なる方法で何をしているのですか、またはR NoteBookがもたらす新しい機能は何ですか?

私のウェブ検索のヒットはすべて、R NotebookがR Markdownを使用していることを示していますが、2つの違いが特に何であるかはわかりませんでした。


1
私はknitrとLaTeXを使用しているので、R Sweaveオプションを選択します。RMarkdownを使用していなかったと言えるのは、LaTexは何でもできるということだけですが、その力は複雑さと学習曲線をもたらします。また、サポーターと豊富な本とリソースの巨大なコミュニティがあります。
lawyeR 2017年

1
@lawyeRに感謝します。私はリソースについて心配していませんし、RとLaTeXの周りにはかなりうまく行くことができます。Sweaveって何なんだろうと思ったのですが、後で気になると思いました。それについてあなたの洞察をありがとう。今の私はR.のこれらの様々な味の間でトップレベルの違いを探しています
PagMax

5
そして、あなたはマニュアルを読むのが大好きですが、ドキュメントから資料をダンプするのではなく、あなたが反対票を投じて質問の具体的な回答に答える実際の質問を読んでみませんか?
PagMax 2017年

回答:


55

私が理解している限り、私のセットアップからは、コーディングの違いはありません。違いはレンダリングです。ファイル拡張子は同じです。

新しいR Notebookを作成するhtml_notebookと、ヘッダーの出力オプションに追加されます。それが違いです。レンダリングを編成せずにすばやくプレビューできます。また、保存するたびにプレビューが更新されます。ただし、そのプレビューでは、コード出力(図、表なし)はありません(少なくとも私の設定では)。html_notebook出力なしでは、ボタンのプレビューはありません

ここに画像の説明を入力してください

プレビューオプションが表示されるのを確認できるので、好きな形式で編成することもできます。これを行うと、ヘッダーコードに追加されます。

ここに画像の説明を入力してください

ただしhtml_notebook、ヘッダーにそれがない場合は、コードを編成して、それがどのように見えるかを確認することしかできません(本全体)(画像に追加したデフォルトのオプションを無視してください)。

ここに画像の説明を入力してください

プレビューするオプションがドロップダウンメニューに表示されない

ここに画像の説明を入力してください

それ以外は同じように機能します。一部のデフォルト設定では、出力はデフォルトでコードセクションでも非表示になっています。

ヘッダーにいくつかの出力オプションを混在させることができるため、プレビューを維持し、エクスポート用のニットオプションを維持できることに注意してください。


2
アドオンとして、ノートブックのUTC(アクセントと英語以外の文字を考慮する)にバグがあります。それはあなたの出力とファイルを台無しにします...マークダウンに固執するほうがいいです...この点は(私が知る限り)まだ対処されています
R.プロスト

4
あなたの答えは、数か月間使用した後の違いだと私が思うものです。私を打つのはR Notebookがすべてであり、R MarkDownが何よりも優れていることです。なぜRマークダウンを続けるのですか?Rノートブックを使用して、「プレビュー」の代わりに直接「ニット」を使用でき、R Markdown機能を使用できます。
PagMax 2018

2
レガシーの問題はもっと多いと思うので、Rmarkdownをすでに使用している人々を混乱させないために。さらに、ノートブック(またはR)の現在のバージョンには、上記のバグがあり、基本的に使用できません。私の使用する方法(rmardownからnotebookへ、またはnotebookからrmarkdownへ)に応じて、ソースファイルでもテキストが意味不明なものに置き換えられます。だから私はそれを修正できるまでマークダウンに固執しています。特に、ノートブックのプレビューは、プロットなどなしでテキストをプレビューするだけではそれほど役に立ちませんが、多くの可能性があります。
R.プロスト

41

最近、Rマークダウン対Rノートブックの問題で私を明確にするこの投稿を見つけました。 http://uc-r.github.io/r_notebook

ここにいくつかの関連する行があります:

R Notebookドキュメントの作成は、R Markdownドキュメントの作成と同じです。テキストとコードのチャンク構文は、R Markdownチュートリアルで学習したものと変わりません。主な違いは、R Notebookの対話性にあります。主に、R Markdownドキュメントでチャンクを実行すると、すべてのコードが一度コンソールに送信されますが、R Notebookでは、一度1行しか送信されません。これにより、行でエラーが発生した場合に実行を停止できます。

また、RStudioでR Notebookを作成すると、ニットとプレビューの間にこれがあります。

プレビューには、エディターのコンテンツのレンダリングされたHTMLコピーが表示されます。したがって、Knitとは異なり、PreviewはRコードチャンクを実行しません。代わりに、エディターで最後に実行されたときのチャンクの出力が表示されます。

お役に立てば幸いです。


その2番目の部分は、違いを理解するのに特に役立ちます。
gaelgarcia

15

最も重要な違いの1つは、上記の回答から完全には明らかではありません。

Bookdownブックのセクション3.2.1.3から:

エディターのツールバーのメニューにもRestart R and Run All Chunks項目があり、Runすべてのチャンクを実行する前に新しいRセッションを提供します。これはKnit、ドキュメントをコンパイルするために別のRセッションを起動するボタンに似ています。

つまり、編み物は新しい環境を作成し、そこですべてのコードを実行します。対照的に、R Notebookでは、グローバル環境をそのまま使用してHTMLファイルをレンダリングします。実際、R Notebookの場合、.Rmdドキュメントが保存されるたびにHTMLファイルが変更されます。Previewボタンは、単に現在の状態でHTMLファイルを開きます。コードは実行されません。Preview文字通り、それが言っていることを意味します。それは、すでに行われたことをあなたに示すだけです。

なぜこれが問題なのですか?たとえば、R Notebook .Rmdファイルが開かれているがコードチャンクが実行されていない場合、HTMLファイルはすべてのマークダウンと入力コードを問題なくレンダリングしますが、出力は表示されません。または、xコードチャンクではなく、コンソールで変数を定義するとします。xR Notebookのどこかで使用しようとすると、問題なく動作します。HTMLドキュメントのプレビューも問題なく機能します。一方、ドキュメントを編成すると「不明な変数」エラーが生成されます。これは、編成によってすべてのコードが新しい環境でx実行され、変数がマークダウンファイルでどこにも定義されていないためです。


7

違いは、R NotebokではMarkdownとR-code Chunksを記述して直接実行し、すぐに結果を確認できることです。自分にとっては一種のノートブックです。

R Markdownは、html、pdf、またはWord文書で見栄えの良い出力を作成するためにあります。MarkdownとR-Code-Chunksの組み合わせ。短い紹介と動機はここにあります

knitr Package klickの詳細については、こちらをご覧ください。


2
まあこれはまだMarkdownがNotebookとどのように違うのか説明していません。(私はノートブックがマークダウンを使用していることを理解しています)が、昨年導入されたRノートブックの前にRマークダウンが存在しました。それでは、Rマークダウンを使用するだけでは以前は不可能であったRノートブックの新機能は何ですか?
PagMax 2017年

3
@PagMax違いは、RmarkdownファイルからのHTML出力のレンダリング速度にあると思います。knitrを使用してRマークダウンのhtml出力を生成する場合、すべてのコードを「編成」して出力を生成するには少し時間がかかります。スピードを上げるには、RstudioでRnotebookの「モード」を使用して出力を「html_notebook」に変更することで、Rmarkdownをhtmlで表示できます。これにより、チャンクを再実行し、ctrl + shift + k(pc)およびHTMLは非常に迅速に更新されます。
chang02_23 2017

1
OPが抱えている問題は、2の間に大きな違いがないことだと思います。主な違いは、ここで答えを読んだところ、主にRNBでRの単一のチャンクを実行できることです。 RMDでファイル全体をレンダリングするか、レンダリングしないかを要求する一方で、独立して「インライン」でコーディングします。巨大なファイルがあり、小さなグラフを確認するだけでよい場合を想像してみてください。RNBはそのために適しています。RMDはレンダリングに時間がかかりすぎるため、不便です。
ブライアンゴギン2017

@BryanGoggin Rmdでも独立したチャンクを実行できます。
PagMax 2018

5

ここに私が見つけた1つの実用的な違いがあります:

テキストの一部をコメントアウトする必要がある場合、RMarkdownはテキストの#すべての行に挿入しますが、RNotebook は<!----->(htmlファイルのように)記号のペアの間にテキストを適切にカプセル化します

何と些細な違いでしょうか。ただし、それが理由で、私はすべてのドキュメントに対して常にRStudioで(RMarkdownの代わりに)R Notebookを常に使用しています。他のすべてでは、それらは同じように見えます(少なくとも私のニーズでは、htmlやpdfの生成など)

そうでなければ、私のコメントは以下のように突然ヘッダーになります:

# This part is commented out, but will show as Heading 1 font text

4

http://rmarkdown.rstudio.com/r_notebooks.html#notebook_file

「通常のRマークダウンドキュメントは「ニット」ですが、ノートブックは「プレビュー」されています。ノートブックプレビューはレンダリングされたRマークダウンドキュメントに似ていますが、ノートブックプレビューはRコードチャンクを実行しません。」


2
同意する。「プレビュー」機能は、2つの間の唯一の差別化要因です。RnotebookがRmarkdownのすべてであり、追加のプレビュー機能を備えているのに、なぜRmarkdownを使い続けているのでしょうか。
PagMax 2018

4

Similarites: RノートブックとR Markdownドキュメントは非常によく似ています。マークダウン形式は、両方のファイルタイプで機能します。どちらのファイル形式も、結果やコメントとともに他の人にコードを伝えるために使用できます。作成したドキュメントをHTML、PDF、WORD出力形式に編成することを選択できます。コードにエラーがある場合、出力は生成されません。ファイルを実行するには:CTRL + SHIFT + K、コードチャンクを挿入するには:CTRL + ALT + I。

Rマークダウンドキュメント: Rmdドキュメントはウィザードを介して構成でき、再現性ドキュメント、プレゼンテーションスライド、光沢のあるアプリなどのオプションと、テンプレートからドキュメントを作成するオプションがあります。コードを変更すると、出力はRmd出力で実行されます。ドキュメントをプレビューするオプションはありません。YAMLヘッダーの出力形式は次のとおりです。outputhtml_document

Rノートブックドキュメント: R nbドキュメントが直接起動され、ウィザード(.RMDの場合など)は表示されません。ノートブックファイルとともに、拡張子が* .nb.htmlの追加のhtmlファイルが生成されます。ノートブックにはプレビューのオプションがあります。コードが変更または編集された場合、新しい出力は表示されません。出力はコードエディター自体に表示されます。古い出力が何であれ、それはレンダリングされるだけです。コードの変更から新しい出力は生成されません。コード出力を表示するには、チャンクを実行する必要があります。その後、出力に表示されます。YAMLヘッダーの出力は次のとおりです。outputhtml_notebook

YAMLヘッダー:YAMLヘッダーをあるファイルから別のファイルに変更すると、ドキュメントのタイプが変更されます。たとえば、html_notebookとしてYAMLヘッダーを持つRノートブックがあるとします。YAMLヘッダーを変更すると、RノートブックはR Markdownドキュメントに変換されます。

いずれかを選択する必要がある場合は、RMarkdownドキュメントを使用してください。RMarkdownドキュメントを使用すると、より詳細な制御が可能になり、作成したらすぐにドキュメントを更新できます。


3

jrnoldから

Rノートブックファイルは、コンソールを非表示にしながら、エディター内に出力を表示します。Rマークダウンファイルは、コンソール内の出力を表示し、エディター内の出力は表示しません。YAMLヘッダーの出力の値が異なります。
RノートブックのYAMLヘッダーには次の行があります。

---
ouptut: html_notebook
---

RマークダウンファイルのYAMLヘッダーには次の行があります。

ouptut: html_document

YAMLヘッダーをRノートブックからRマークダウンファイルにコピーすると、Rマークダウンファイルに変更され、その逆も同様です。より具体的には、値outputをThis に変更するのは、RStudio IDEを開くとき、およびrmarkdownパッケージが編成するときに、ファイルのYAMLヘッダー、特にoutputYAMLヘッダーのキーの値を使用して、ドキュメントのタイプを決定するためです。です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.