在knitr输出中包括R帮助

在knitr输出中包括R帮助,r,knitr,R,Knitr,是否可以在knitr输出中包含R文档?在使用股票数据集时,最好只包含内置文档,而不必复制和粘贴它。问题似乎是,?会产生副作用,因此没有意义上的“结果”。比如说, ```{r} ?mtcars ``` 没有被knitr捕获的输出 使用帮助(…,help\u type)而不是?也没有帮助。我试过: ```{r, results='markup'} help(mtcars, help_type="text") ``` 及 同样的结果。(在后一种情况下,knitr捕获了输出##启动httpd帮助服务

是否可以在knitr输出中包含R文档?在使用股票数据集时,最好只包含内置文档,而不必复制和粘贴它。问题似乎是,
会产生副作用,因此没有意义上的“结果”。比如说,

```{r}
?mtcars
```
没有被knitr捕获的输出

使用
帮助(…,help\u type)
而不是
也没有帮助。我试过:

```{r, results='markup'}
help(mtcars, help_type="text")
```

同样的结果。(在后一种情况下,knitr捕获了输出
##启动httpd帮助服务器…done
,这基本上只是一条关于副作用的消息。)


换句话说,有没有一种方法可以提取纯文本或HTML格式的R帮助?

我认为您可以通过对
pager
选项进行如下黑客攻击来获得所需的帮助:

pfun <- function(files, header, title, delete.file) {
    all.str <- do.call("c",lapply(files,readLines))
    cat(all.str,sep="\n")
}
orig_pager <- options(pager=pfun)
help("mtcars")
options(orig_pager)

pfun要回答您的特定问题,“有没有办法以纯文本或HTML格式提取R帮助?”,答案是使用“工具”包中的
Rd2HTML
rd2text
的组合,并从“utils”中获得一点帮助

对于HTML:

tools:::Rd2HTML(utils:::.getHelpFile(help(mtcars)))
对于txt:

tools:::Rd2txt(utils:::.getHelpFile(help(mtcars)))
不过,听上去,你应该能够使用。例如,要包含“mtcars”帮助页面“描述”部分的文本,可以使用以下内容:

```{r, echo=FALSE, results='asis'}
cat(helpExtract(mtcars, section = "Desc", type = "m_text"))
```
使用,例如

库(printr)
帮助(mtcars)
分离('package:printr',unload=TRUE)

我在这里拼凑的函数对您有帮助吗?在我的计划上;只是还没有找到时间来使用它,
Rd2HTML
对我来说实际上是更好的变体,因为它最好地保留了所有的格式(对于任何查看Rmd文件的人来说,代码都是类似的)。为了避免包含R帮助样式表,您需要设置
stylesheet=”“
@Livius,部分灵感来自这篇文章,我现在可以自动显示帮助页面或knitr文档中的某些特定部分。请看,谢谢!
```{r, echo=FALSE, results='asis'}
cat(helpExtract(mtcars, section = "Desc", type = "m_text"))
```