我可以从R 3.1.2包中获得关于Yates函数的FrF2帮助:
?FrF2::Yates现在,我想从.tex包中通过help_console函数获得help_console格式的帮助。我试过这段代码,但不起作用:
help_console(topic="Yates", format = "latex")和
help_console(topic="FrF2:Yates", format = "latex")noamtools Rpackage can be obtained fromgithub` `使用以下命令:
library(devtools)
install_github("noamtools", "noamross")
library(noamtools)发布于 2014-11-10 19:27:49
这里的问题是来自基本包help的函数utils。您有两个包,它们都导出具有相同名称的函数。具体来说,DoE.base和FrF2都导出Yates,这样help就不会加载Rd文件;相反,它希望您在不同的文件之间进行选择。但是help_console不知道如何处理这个问题。通过向package添加一个help_console参数,将包名向下传递给help,可以很容易地纠正这一点。要在特定的R会话中创建此功能,可以使用:
fixInNamespace("help_console", "noamtools")若要加载脚本编辑器,可以将help_console的定义更改为以下内容:
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)
}然后,这将允许您单独捕获函数的每个版本的文档:
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上的主回购中合并了,所以您可以像往常一样安装。
https://stackoverflow.com/questions/26804298
复制相似问题