2

我知道我可以Rmd用来构建包晕影,但想知道是否可以更具体地使用 R Notebooks 来制作包晕影。如果是这样,我需要将 R Notebooks 编写为包小插曲有什么不同吗?我正在使用最新版本的 RStudio 并devtools编写此包。

4

1 回答 1

6

您的两个问题的简短答案分别是是和否。

理解 R Notebooks 的关键是它们不是一种不同文件;正如文档所说:

任何 R Markdown 文档都可以用作笔记本

由于小插图R Markdown 文档(output: rmarkdown::html_vignette在其 YAML 标头块中),因此它们可以用作 R Notebooks。

因此,如果 R Notebooks 不是另一种文件,它们是什么?

同样,文档很简洁:

因此可以将笔记本视为 R Markdown 文档的特殊执行模式

换句话说,它只是改变了您与文件的交互。这些变化主要与使代码开发过程更具交互性和动态性有关。也许最重要的是:

  • 交互式代码执行:您可以根据需要执行行或块(与整个 R Markdown 文档的批处理模式渲染相比)
  • 嵌入代码输出:您可以看到显示在文件的文本编辑缓冲区中的交互式编码会话的结果,并且这些结果会随着您运行、更改和重新运行代码而更新。
  • 笔记本文件:这有点复杂,不一定与小插图相关,但值得一提。当您保存YAML 标头块中的.Rmd文件时,会在同一目录中创建另一个文件,其文件扩展名为. 这个“笔记本文件”存储所有代码块的输出,无论您在保存时留下的任何状态。它很有用有两个原因。首先,当您重新打开相关文件时,这些输出将重新加载供您查看,而无需重新运行任何代码(尽管对于其他输出类型也以隐藏的方式处理)。二、你可以打开这些output: rmarkdown::html_notebook.nb.html.Rmd.nb.html文件直接在任何网络浏览器中,它们将显示笔记本状态的渲染 .html 版本。此功能使它们对于共享很有用,并且“即用即渲染”特性可以节省您knit每次想要查看未完成笔记本的中间状态时都需要点击的时间。

在 RStudio 中编辑时,所有 .Rmd 文档都被视为 R Notebooks(无论它们的output:字段如何),因此您无需执行任何操作,也不会影响您的小插图构建过程。

我不确定小插图是否可以通过将两者都 output: rmarkdown::html_vignette 添加 output: rmarkdown::html_notebook到它们的 YAML 标头块中来利用“笔记本文件”功能。我试了一下,但似乎没有用。

于 2017-10-27T02:31:07.810 回答