R MarkDown和R NoteBook的区别

我试图在一个较高的水平上理解R MarkdownR NoteBook之间的区别。我知道它们是相互关联的,但我想弄清楚它们是如何相互关联的。我的理解是:

我知道R笔记本实际上是R Markdown文档,但我对术语感到困惑。

RStudio的新文件选项有R MarkdownR NoteBook,选择其中任何一个打开一个R Markdown文件,但略有不同。我只是想弄清楚为什么会有两种选择这两者之间有什么区别?

enter image description here

我知道R笔记本电脑是新推出的,R Markdown也已经有一段时间了。部分混乱可能是因为我从来没有使用R Markdown之前R笔记本的介绍,所以我的相关或更具体的问题是

R NoteBook与仅仅使用R MarkDown有什么不同,或者R NoteBook带来了什么新功能?

我在网上搜索的所有结果都指向R Notebook使用了R Markdown,但我没有找到任何关于两者之间具体区别的帮助。

79662 次浏览

不同的是,在R Notebok中,你可以写下Markdown和R代码块,然后直接执行,马上就能看到结果。这是一本属于你自己的笔记本。

R Markdown可以在html, pdf或word文档中创建漂亮的输出。结合Markdown和r - code块。一个简短的介绍和动机可以在这里找到

如果你想获得更多关于针织包的信息,点击这里

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

"普通Markdown文件是“编织”,但笔记本是“预览”。 而笔记本预览看起来类似于渲染的R Markdown 文档,笔记本预览不执行任何R代码 块”< / p >

以下是我发现的一个实际差异:

当你需要注释掉文本的一部分, RMarkdown在文本的每一行中插入#,而 RNotebook简洁地将文本封装在一对<!----->符号(如在html文件中)

之间

有人可能会说,差别太小了。然而,正因为如此,我现在总是在RStudio中使用R Notebook(而不是RMarkdown)来保存我的所有文档。在其他方面,它们似乎是一样的(至少对于我的需求,比如生成html和pdf)

否则,我的注释就会突然变成标题,如下所示:

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

据我所知,从我的设置没有编码差异。 区别在于渲染。文件扩展名相同,

当你创建一个新的R Notebook时,它会在头文件的输出选项中添加html_notebook。这就是区别。然后,您可以快速预览渲染,而不必编织它。它还会在每次保存时刷新预览。然而,在预览中,你没有代码输出(没有图形,没有表格..)(至少在我的设置中)。如果输出中没有html_notebook,就没有按钮预览

enter image description here

正如你可以看到预览选项显示,但你也可以编织在任何你想要的格式。当您这样做时,它将把它添加到头代码中。

enter image description here

然而,如果你的标题中没有html_notebook,你只能编织你的代码来看看它是什么样子(整本书)(请忽略我在图片中添加的额外默认选项)

enter image description here

下拉菜单中没有显示预览选项

enter image description here

否则它的工作原理是一样的。对于某些默认配置,输出在默认情况下也隐藏在代码部分中。

注意,你可以在你的标题中混合几个输出选项,这样你就可以保持预览,并保持你的针织选项用于导出。

最近我发现了这篇文章,让我清楚了R Markdown vs. R笔记本的问题。 http://uc-r.github.io/r_notebook < / p >

以下是一些相关的句子:

编写R Notebook文档与编写R Markdown文档没有什么不同。文本和代码块的语法与您在R Markdown教程中学到的没有什么不同。主要的区别在于R笔记本的互动性。主要是当在R Markdown文档中执行块时,所有代码都立即发送到控制台,而在R Notebook中,每次只发送一行。这允许在某行引发错误时停止执行。

当你在RStudio中创建R Notebook时,也有这个关于编织和预览的问题:

预览显示了编辑器内容的HTML副本。因此,与针织不同,预览不运行任何R代码块。相反,将显示上一次在编辑器中运行时的数据块的输出。

希望对你有用。

jrnold:

R笔记本文件显示编辑器内的输出,同时隐藏控制台。R markdown文件显示控制台内的输出,而不显示编辑器内的输出。它们在YAML头中的输出值不同 R笔记本的YAML标题将有一行,

---
ouptut: html_notebook
---

R markdown文件的YAML头将有一行,

ouptut: html_document

将YAML头从R笔记本复制到R markdown文件将其更改为R markdown文件,反之亦然。更具体地说,将output的值更改为This是因为RStudio IDE在打开和编织时使用文件的YAML头,特别是YAML头中的output键的值,以确定它是什么类型的文档。

最重要的区别之一并不是完全清楚从上面的答案。

Bookdown书的3.2.1.3节:

Run菜单中还有一个Restart R and Run All Chunks项 在编辑器工具栏上,它为您提供了一个新的R会话 运行所有的块。这类似于Knit按钮 启动单独的R会话来编译文档

换句话说,编织创建了一个新环境,并在那里运行所有代码。相比之下,R Notebook使用全局环境来呈现HTML文件。事实上,对于R Notebook,每当保存.Rmd文档时,HTML文件都会发生更改。Preview按钮只是打开当前状态的HTML文件。没有代码运行。Preview字面上的意思是:它只是告诉你已经做了什么。

为什么这很重要?例如,如果一个R Notebook .Rmd文件被打开,但没有运行代码块,那么HTML文件将呈现所有标记和输入代码,但不会出现输出。或者,假设你在控制台中定义了一些变量x,但不是在代码块中。如果你尝试在R Notebook的某个地方使用x,它会工作得很好。预览HTML文档也可以正常工作。另一方面,编织文档将产生一个“未知变量”错误,因为编织在一个新环境中运行所有代码,而变量x从未在markdown文件中任何地方定义过。

R笔记本和R Markdown文档非常相似。Markdown格式适用于两种文件类型。这两种文件格式都可以用于与他人交流代码以及结果和注释。您可以选择将创建的文档编织成HTML、PDF和WORD输出格式。如果代码中有错误,则不会生成输出。运行文件:CTRL+SHIFT+K,插入代码块:CTRL+ALT+I。

R降价文件: Rmd文档可以通过向导进行配置,并具有可复制文档,演示幻灯片,闪亮的应用程序等选项,以及从模板创建文档的选项。如果更改代码,输出将在Rmd输出中执行。它没有提供预览文档的选项。YAML头的输出格式为:output: html_document

R笔记本文档: rnb文档直接启动,没有向导(在. rmd的情况下)出现。除了notebook文件,还会生成一个扩展名为*.nb.html的额外html文件。笔记本电脑有预览选项。如果修改或编辑了任何代码,则不会显示新的输出。输出显示在代码编辑器本身中。无论旧的输出是什么,它都只被呈现。代码更改不会生成新的输出。为了显示代码输出,我们需要执行块,然后它将出现在输出中。YAML头的输出为:output: html_notebook

YAML头:如果我们将YAML头从一个文件更改到另一个文件,它将改变文档的类型。例如,您有一个R笔记本,它的YAML头名为html_notebook。如果你改变了YAML标题,你的R笔记本将被转换为R Markdown文档。

如果你必须选择一个,选择RMarkdown文档,因为它提供了更多的控制,并在你编织它的时候更新文档。

当然,R文件中包含R编程语言代码。

R Markdown,另一方面,是一个Markdown文件(“Markdown是一种轻量级标记语言,用于使用纯文本编辑器创建格式化文本”;per daringfireball.net/projects/markdown),其中嵌入R代码块。
R代码块提供了在RStudio中运行整个代码块或单行代码的选择。更重要的是,当你导出你的R Markdown文件时,你会看到Markdown文本显示为文本,而R代码块是灰色的,默认情况下显示为代码块。RMarkdown的目的是使R语言更加动态,特别是为了创建报告。R Markdown已被科学界广泛用于生成报告的目的