【问题标题】:How to include output of help() in sweave pdf如何在 sweave pdf 中包含 help() 的输出
【发布时间】:2015-10-14 15:28:00
【问题描述】:

我想将帮助文件中的函数文档包含在一个 sweave 文档中。我尝试了以下 sweave 块

<<>>=
?lm
@

但在 Rnw 文件上调用 Sweave 时收到错误消息。如何在文档中包含整个帮助消息?

【问题讨论】:

  • “整个帮助信息”是指?lm 的所有内容?如果您只想要特定部分,可以查看helpExtract from my "SOfun" package。您也应该对函数的前几行感兴趣。
  • 是的,我的意思是当我调用 ?lm(或任何其他 R 函数)时打印的整个输出。我必须在 sweave 块中添加什么才能做到这一点?
  • 试试utils:::.getHelpFile(utils::help("lm"))
  • 或者更具体地说,tools:::Rd2latex(utils:::.getHelpFile(utils::help("lm")))...
  • 很好,我们快到了。我在带有&lt;&lt;results=tex&gt;&gt; 的sweave 块中尝试了您上面的Rd2latex 建议,但我从pdflatex 编译器得到Undefined control sequence. \HeaderA。我必须包含另一个乳胶包吗?

标签: r sweave


【解决方案1】:

其中的关键是真正弄清楚如何以字符串的形式获取您想要的信息。

  • help("lm") 打开相关功能的帮助文件,但不在控制台中。
  • utils:::.getHelpFile 为您提供该文件的 Rd 版本。
  • 从那里,您可以使用tools:::Rd2txt 将其转换为文本...
  • 可以使用capture.output“捕获”。

这些基本上是helpExtract from my "SOfun" package 前几行中包含的步骤。但是,该函数仅捕获请求的部分。

相反,如果你能满足于文本,你可以做一些类似的事情:

gsub("_\b", "", 
    capture.output(tools:::Rd2txt(
        utils:::.getHelpFile(utils::help("lm")))))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多