查找未针对特定命令命名的R帮助页面

时间:2017-08-04 22:16:34

标签: r help-system

R的大多数帮助页面都是为了提供特定命令的文档而设计的,如果你知道命令并试图弄清楚如何使用它,就可以轻松找到它们。但是有许多帮助页面主要与单个命令无关,而是与影响许多单个命令的编程工具或技术有关,并且页面名称不是任何命令的名称。示例包括“regex”的帮助页面,“连接”,“内部通用函数”等等。

我担心在我不知道如何找到的这组帮助页面中的某些地方我应该知道这些内容。是否有我可以探索的此类页面的已发布列表?或者有没有办法使用R或R帮助函数来生成这样的列表?

我曾经想过如何在通常的发行版中生成所有R命令的列表 - 如果我没记错的话,大约2000个 - 但是我不知道如何找到一个匹配的帮助页面名称列表。

在阅读下面有用且有趣的答案后,我意识到这是一个比我想象的更难的问题。通过:

things <- mget(ls("package:base"), inherits = TRUE)
fns <- Filter(is.function, unique(things))
length(fns)

我们了解到基础包中有1169个独特的功能。根据G. Grothendieck的建议,我们了解到有1216个帮助页面与基础包相关联。因此,这些页面中至少有47个是针对特定功能以外的其他内容。但这个数字实际上比这个要大得多,因为有很多帮助页面可以提供有关多个功能的信息,而我并不知道任何在多个页面上有多个偶然处理的功能。因此,将它们放入正确的对应关系需要对每一页进行额外的检查。

例如,请考虑名为“funprog”的帮助页面。其简短描述是“函数式编程语言中的通用高阶函数”。你可以通过搜索它讨论的六个函数之一(Reduce,Filter,Find,Map,Negate,Position)来实现它。在下面Grothendieck建议的帮助页面列表中,此页面不会出现在其页面名称下,而只会出现在“Reduce”下,而“Reduce”必须代表其他五个功能。但这意味着还有五个页面与特定功能无关,但与其他内容无关。我希望通过一些机械方式将功能与其帮助页面进行匹配,并生成剩余页面的完整列表。它不会那么容易。

此外,根据以下建议进行探讨,使我得到了与基础和推荐包相关的33个小插图,其中我通常不知道。我认为很难在这些插图和与特定命令无关的帮助页面之间画出一条概念线,比如上面描述的funprog帮助页面。

2 个答案:

答案 0 :(得分:3)

尝试help.start()并浏览它为您提供的链接。

还可以尝试help(package = base)以及其他开箱即用的软件包,包括统计信息,图形,grDevices,utils,数据集和方法。

答案 1 :(得分:2)

help.search可能,呃,帮助。例如,help.search("regex")提供了与regex相关的帮助文件列表。它可以支持help.search("opti*")等正则表达式,也可以使用keyword参数根据主题获取帮助页面,例如help.search(keyword="array")。您可以使用file.show(paste0(R.home("doc"), "/KEYWORDS"))获取R帮助关键字列表。

当然,此功能仅与您正在使用的软件包的文档一样好。如果软件包开发人员未在其文档中指定关键字,则使用keyword参数找不到您要查找的内容。