首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用help_console函数从noamtools R软件包获得R函数的帮助

利用help_console函数从noamtools R软件包获得R函数的帮助
EN

Stack Overflow用户
提问于 2014-11-07 15:15:22
回答 1查看 98关注 0票数 1

我可以从R 3.1.2包中获得关于Yates函数的FrF2帮助:

代码语言:javascript
复制
?FrF2::Yates

现在,我想从.tex包中通过help_console函数获得help_console格式的帮助。我试过这段代码,但不起作用:

代码语言:javascript
复制
help_console(topic="Yates", format = "latex")

代码语言:javascript
复制
help_console(topic="FrF2:Yates", format = "latex")

noamtools Rpackage can be obtained fromgithub` `使用以下命令:

代码语言:javascript
复制
library(devtools)
install_github("noamtools", "noamross")
library(noamtools)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-10 19:27:49

这里的问题是来自基本包help的函数utils。您有两个包,它们都导出具有相同名称的函数。具体来说,DoE.baseFrF2都导出Yates,这样help就不会加载Rd文件;相反,它希望您在不同的文件之间进行选择。但是help_console不知道如何处理这个问题。通过向package添加一个help_console参数,将包名向下传递给help,可以很容易地纠正这一点。要在特定的R会话中创建此功能,可以使用:

代码语言:javascript
复制
fixInNamespace("help_console", "noamtools")

若要加载脚本编辑器,可以将help_console的定义更改为以下内容:

代码语言:javascript
复制
function (topic, format = c("text", "html", "latex", "Rd"), lines = NULL, 
    before = NULL, after = NULL, package = NULL) 
{
    format = match.arg(format)
    if (!is.character(topic)) 
        topic <- deparse(substitute(topic))
    helpfile = utils:::.getHelpFile(help(topic, package = (package)))
    hs <- capture.output(switch(format, text = tools:::Rd2txt(helpfile), 
        html = tools:::Rd2HTML(helpfile), latex = tools:::Rd2latex(helpfile), 
        Rd = tools:::prepare_Rd(helpfile)))
    if (!is.null(lines)) 
        hs <- hs[lines]
    hs <- c(before, hs, after)
    cat(hs, sep = "\n")
    invisible(hs)
}

然后,这将允许您单独捕获函数的每个版本的文档:

代码语言:javascript
复制
str(capture.output(help_console(topic="Yates", format = "latex", package="FrF2")))
## chr [1:139] "\\HeaderA{utilitiesCat}{ \\textasciitilde{}\\textasciitilde{} Internal utility functions and a user-visible constant for workin"| __truncated__ ...
str(capture.output(help_console(topic="Yates", format = "latex", package="DoE.base")))
## chr [1:65] "\\HeaderA{block.catlg3}{Catalogues for blocking full factorial 2-level and 3-level designs,  and lists of generating columns fo"| __truncated__ ...

为了将它合并到noamtools中,我发出了一个请求,要求修改这个请求。你可以看到它,在GitHub上。现在它已经在GitHub上的主回购中合并了,所以您可以像往常一样安装。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26804298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档