R的大多数帮助页面都是为了提供特定命令的文档而设计的,如果你知道命令并试图找出如何使用它,就可以轻松找到它们.但是有许多帮助页面主要与单个命令无关,而是与影响许多单个命令的编程工具或技术有关,并且页面名称不是任何命令的名称.示例包括"regex"的帮助页面,"连接","内部通用功能"等等.
我担心在我不知道如何找到的这组帮助页面中的某些地方我应该知道这些内容.是否有我可以探索的此类页面的已发布列表?或者有没有办法使用R或R帮助函数来生成这样的列表?
我曾经想过如何在通常的发行版中生成所有R命令的列表 - 如果我没记错的话,大约2000个 - 但我不知道如何找到一个匹配的帮助页面名称列表.
在阅读下面的有用和有趣的答案后,我意识到这是一个比我想象的更难的问题.通过以下方式:
things <- mget(ls("package:base"), inherits = TRUE)
fns <- Filter(is.function, unique(things))
length(fns)
Run Code Online (Sandbox Code Playgroud)
我们了解到基础包中有1169个独特的功能.根据G. Grothendieck的建议,我们了解到有1216个帮助页面与基础包相关联.因此,这些页面中至少有47个是针对特定功能以外的其他内容.但这个数字实际上比这个要大得多,因为有很多帮助页面可以提供有关多个功能的信息,而我并不知道任何在多个页面上有多个偶然处理的功能.因此,将它们放入正确的对应关系需要对每页进行额外的检查.
例如,考虑名为"funprog"的帮助页面.其简短描述是"函数式编程语言中的通用高阶函数".你可以通过搜索它讨论的六个函数之一(Reduce,Filter,Find,Map,Negate,Position)来实现它.在下面Grothendieck建议的帮助页面列表中,此页面不会出现在其页面名称下面,而只会出现在"Reduce"下,而"Reduce"必须代表其他五个功能.但这意味着还有五个页面与特定功能无关,但与其他内容无关.我希望通过一些机械方式将功能与其帮助页面进行匹配,并生成剩余页面的完整列表.它不会那么容易.
此外,根据以下建议进行探讨,使我得到了与基础和推荐包相关的33个小插图,其中我通常不知道.我认为很难在这些插图和与特定命令无关的帮助页面之间画出一条概念线,比如上面描述的funprog帮助页面.
help.search也许可以,呃,帮忙。例如,help.search("regex")给出与regex. 它可以支持正则表达式,例如help.search("opti*"),或者您可以使用keyword参数来获取基于主题的帮助页面,例如help.search(keyword="array")。您可以使用file.show(paste0(R.home("doc"), "/KEYWORDS"))获取 R 帮助关键字列表。
当然,这个功能的好坏取决于您所使用的软件包的文档。如果包开发人员未在其文档中指定关键字,您将无法通过参数找到所需的内容keyword。