在knitr输出中包括R帮助

Liv*_*ius 5 r knitr

是否可以在knitr输出中包含R文档?使用库存数据集时,只需包含内置文档而不必复制并粘贴它就会很好.问题似乎是?副作用,因此没有意义上的"结果".例如,

```{r}
?mtcars
```
Run Code Online (Sandbox Code Playgroud)

没有被knitr困住的输出.

使用help(...,help_type)?不是帮助.我试过了:

```{r, results='markup'}
help(mtcars, help_type="text")
```
Run Code Online (Sandbox Code Playgroud)

```{r, results='asis'}
help(mtcars, type="html")
```
Run Code Online (Sandbox Code Playgroud)

结果相同.(在后一种情况下,knitr确实捕获了输出## starting httpd help server ... done,这基本上只是关于副作用的消息.)

换句话说,有没有办法在纯文本或HTML中提取R帮助?

A5C*_*2T1 5

要回答您的具体问题,"有没有办法在纯文本或HTML中提取R帮助?",答案是使用"工具"包的组合Rd2HTML或来自"utils" Rd2txt的一些帮助.getHelpFile".

对于HTML:

tools:::Rd2HTML(utils:::.getHelpFile(help(mtcars)))
Run Code Online (Sandbox Code Playgroud)

对于txt:

tools:::Rd2txt(utils:::.getHelpFile(help(mtcars)))
Run Code Online (Sandbox Code Playgroud)

但是,通过它的声音,你应该能够在上面的评论中使用我链接到功能.例如,要包含"mtcars"帮助页面的"描述"部分中的文本,您可以使用以下内容:

```{r, echo=FALSE, results='asis'}
cat(helpExtract(mtcars, section = "Desc", type = "m_text"))
```
Run Code Online (Sandbox Code Playgroud)

  • @Livius部分受到这篇文章的启发,我现在可以自动显示帮助页面或**knitr**文档中的一些特定部分.请参阅https://github.com/yihui/printr和http://yihui.name/printr谢谢! (6认同)