Ste*_*ieP 6 r rstudio r-markdown
我在R Markdown写了一些小插曲,打算用RStudio的rmarkdown
软件包构建它们.我知道这rmarkdown::render是我们用来将.rmd转换为.html(或其他任何格式)的函数,但是,当我放置时
<!--
%\VignetteEnginer{rmarkdown::render}
%\VignetteIndexEntry{some test title}
-->
Run Code Online (Sandbox Code Playgroud)
在我.rmd的序言(和knitr和rmarkdown在描述我推荐的领域,以及rmarkdown在VignetteBuilder场)我的小插曲不会编译.
有没有人设法rmarkdown成为一个小插图建设者?
Ste*_*ieP 10
从@ Ben的回答(以及下面的评论)中,knitr 已经注册了一个访问的插图引擎rmarkdown(如果已安装)和
<!--
%\VignetteEngine{knitr::rmarkdown}
%\VignetteIndexEntry{Supplementary materials}
-->
Run Code Online (Sandbox Code Playgroud)
是我们如何注册它的例子.然而,为了充分利用rmarkdown(即转化.Rmd的到.html的,并在规定的任何样式保存.Rmd),你必须把上面的代码段BELOW了'rmarkdown序言’.举个例子,你.Rmd应该看起来像
---
Title: "Supplementary Materials"
output:
html_document:
theme: flatly
---
<!--
%\VignetteEngine{knitr::rmarkdown}
%\VignetteIndexEntry{Supplementary Materials}
-->
Run Code Online (Sandbox Code Playgroud)
当然,您还需要确保已正确创建描述文件以包含rmarkdown和knitr.最简单的方法是使用
Suggests: knitr, rmarkdown
VignetteBuilder: knitr
Run Code Online (Sandbox Code Playgroud)
为什么你想使用rmarkdown而不是knitr?乍一看,你的问题看起来有点混淆rmarkdown和knitr。澄清:
rmarkdown是一种“基于 knit 和 pandoc”的“创作格式”。当我们运行时,rmarkdown::render我们正在调用knitr和/或 pandoc。
knitr是将rmarkdown转换为html/PDF/docx的引擎。这就是执行代码R以获取输出和绘图等的内容。
软件包knitr作者已经提到“由于 rmarkdown 软件包尚未在 CRAN 上,因此您目前无法使用 vignette 引擎 knitr::rmarkdown”。如果您等不及,您可以注册自己的引擎,但这看起来相当复杂。
我想你想要的是:
这位于您的 Rmd 文档的顶部:
<!--
%\VignetteEngine{knitr::rmarkdown}
%\VignetteIndexEntry{Supplementary materials}
-->
Run Code Online (Sandbox Code Playgroud)
这在你的DESCRIPTION文件中:
VignetteBuilder: knitr
Suggests:
knitr
Run Code Online (Sandbox Code Playgroud)
要获得完整的示例,请查看tidyr包,这是描述,这是rmarkdown 小插图(向Andrie指出这一点致敬)。
如果您想要从中获得某些rmarkdown无法获得的特定内容knitr(自定义样式等),那么您应该将其放在一个新问题中。
| 归档时间: |
|
| 查看次数: |
1380 次 |
| 最近记录: |