我可以使用 R 笔记本作为 R 包小插图吗?
Can I use R Notebooks as R package vignettes?
我知道我可以使用 Rmd
来构建包插图,但想知道是否可以更具体地使用 R Notebooks 来制作包插图。如果是这样,我需要将 R Notebooks 编写为包小插图有什么不同吗?我正在使用最新版本的 RStudio 和 devtools
来编写这个包。
您的两个问题的简短答案分别是是和否。
理解 R Notebooks 的关键在于它们不是不同的种类文件;正如 documentation 所说:
Any R Markdown document can be used as a notebook
由于 vignettes 是 R Markdown 文档(在 YAML header 块中有 output: rmarkdown::html_vignette
),因此它们可以用作 R 笔记本。
那么,如果 R Notebooks 不是另一种文件,那它们是什么?
同样,文档很简洁:
A notebook can therefore be thought of as a special execution mode for R Markdown documents
换句话说,它只是改变了您与文件的互动。这些变化主要与使代码开发过程更具交互性和动态性有关。也许最重要的是:
- 交互式代码执行:您可以根据需要执行行或块(与整个 R Markdown 文档的批处理模式渲染相比)
- 嵌入代码输出:您可以在文件的文本编辑缓冲区中看到交互式编码的结果session,这些结果更新为你 运行,改变,和 re-run 代码。
- 笔记本文件:这有点复杂,不一定与小插图相关,但值得一提。当您在 YAML header 块中保存具有
output: rmarkdown::html_notebook
的 .Rmd
文件时,会在同一目录中创建 另一个 文件,并且具有文件扩展名 .nb.html
。 "Notebook file" 存储所有代码块的输出,无论它们在保存时处于何种状态。它的用处有两个。首先,当你 re-open 相关的 .Rmd
文件时,这些输出是 re-loaded 供你查看,而不需要 re-run 任何代码(尽管这也是以隐藏的方式处理的其他输出类型)。其次,您可以直接在任何网络浏览器中打开这些 .nb.html
文件,它们将显示笔记本状态的渲染 .html 版本。此功能使它们可用于共享,并且 "render-as-you-go" 的特性使您无需在每次要查看未完成的笔记本的中间状态时点击 knit
。
在 RStudio 中编辑时,所有 .Rmd 文档都被视为 R 笔记本(无论它们的 output:
字段是什么),因此您无需执行任何操作,也不会影响您的 vignette-building进程。
我不确定小插图是否可以通过添加 both output: rmarkdown::html_vignette
and[=52 来利用 "Notebook files" 功能=] output: rmarkdown::html_notebook
到他们的 YAML header 块。我试了一下,但似乎没有用。
我知道我可以使用 Rmd
来构建包插图,但想知道是否可以更具体地使用 R Notebooks 来制作包插图。如果是这样,我需要将 R Notebooks 编写为包小插图有什么不同吗?我正在使用最新版本的 RStudio 和 devtools
来编写这个包。
您的两个问题的简短答案分别是是和否。
理解 R Notebooks 的关键在于它们不是不同的种类文件;正如 documentation 所说:
Any R Markdown document can be used as a notebook
由于 vignettes 是 R Markdown 文档(在 YAML header 块中有 output: rmarkdown::html_vignette
),因此它们可以用作 R 笔记本。
那么,如果 R Notebooks 不是另一种文件,那它们是什么?
同样,文档很简洁:
A notebook can therefore be thought of as a special execution mode for R Markdown documents
换句话说,它只是改变了您与文件的互动。这些变化主要与使代码开发过程更具交互性和动态性有关。也许最重要的是:
- 交互式代码执行:您可以根据需要执行行或块(与整个 R Markdown 文档的批处理模式渲染相比)
- 嵌入代码输出:您可以在文件的文本编辑缓冲区中看到交互式编码的结果session,这些结果更新为你 运行,改变,和 re-run 代码。
- 笔记本文件:这有点复杂,不一定与小插图相关,但值得一提。当您在 YAML header 块中保存具有
output: rmarkdown::html_notebook
的.Rmd
文件时,会在同一目录中创建 另一个 文件,并且具有文件扩展名.nb.html
。 "Notebook file" 存储所有代码块的输出,无论它们在保存时处于何种状态。它的用处有两个。首先,当你 re-open 相关的.Rmd
文件时,这些输出是 re-loaded 供你查看,而不需要 re-run 任何代码(尽管这也是以隐藏的方式处理的其他输出类型)。其次,您可以直接在任何网络浏览器中打开这些.nb.html
文件,它们将显示笔记本状态的渲染 .html 版本。此功能使它们可用于共享,并且 "render-as-you-go" 的特性使您无需在每次要查看未完成的笔记本的中间状态时点击knit
。
在 RStudio 中编辑时,所有 .Rmd 文档都被视为 R 笔记本(无论它们的 output:
字段是什么),因此您无需执行任何操作,也不会影响您的 vignette-building进程。
我不确定小插图是否可以通过添加 both output: rmarkdown::html_vignette
and[=52 来利用 "Notebook files" 功能=] output: rmarkdown::html_notebook
到他们的 YAML header 块。我试了一下,但似乎没有用。