当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R help.search 搜索帮助系统


R语言 help.search 位于 utils 包(package)。

说明

允许使用 fuzzy matchingregular expression 匹配在帮助系统中搜索与(文件)名称、别名、标题、概念或关键字条目(或其任意组合)中给定字符串匹配的文档。匹配的帮助条目的名称和标题以良好的格式显示。

还可以搜索插图名称、标题和关键字以及演示名称和标题。

用法

help.search(pattern, fields = c("alias", "concept", "title"),
            apropos, keyword, whatis, ignore.case = TRUE,
            package = NULL, lib.loc = NULL,
            help.db = getOption("help.db"),
            verbose = getOption("verbose"),
            rebuild = FALSE, agrep = NULL, use_UTF8 = FALSE,
            types = getOption("help.search.types"))
??pattern
field??pattern

参数

pattern

指定字段中要匹配的字符串。如果给出此参数,则忽略参数 aproposkeywordwhatis

fields

一个字符向量,指定要搜索的帮助数据库的字段。这些条目必须是 "name""title""alias""concept""keyword" 的缩写,对应于帮助页面的(文件)名称、标题、其提供文档的主题和概念,以及它可以分类到的关键字。有关详细信息以及如何搜索插图和演示,请参阅下文。

apropos

帮助页面主题和标题中要匹配的字符串。

keyword

帮助页面中要匹配的字符串‘keywords’。 “关键字”实际上是类别:标准类别列在文件“R.home("doc")/关键字’(另请参阅示例)并且一些包编写者已经定义了自己的。如果keyword被指定,agrep默认为FALSE.

whatis

帮助页面主题中要匹配的字符串。

ignore.case

一个合乎逻辑的。如果是 TRUE ,则匹配时忽略大小写;如果 FALSE ,模式匹配区分大小写。

package

包含要搜索的包名称的字符向量,或 NULL,在这种情况下,将搜索 lib.loc 指定的库树中的所有可用包。

lib.loc

说明位置的字符向量R要搜索的库树,或者NULL.默认值为NULL对应于当前已知的所有库。

help.db

一个字符串,给出先前构建和保存的帮助数据库的文件路径,或 NULL

verbose

逻辑性;如果是 TRUE ,则跟踪搜索过程。也接受整数值,TRUE 相当于 2 ,而 1 则更简洁。在 Windows 上,重建期间会显示进度条,在 Unix 上,会显示 verbose = 1 的心跳和 verbose >= 2 的 package-by-package 列表。

rebuild

指示是否应重建帮助数据库的逻辑。如果 lib.loc 或搜索路径更改,或者使用 package 但未找到值,这将自动完成。

agrep

如果NULL(默认值,除非使用keyword)并且要匹配的字符串仅由字母数字字符、空格或破折号组成,则使用通过agrep的近似(模糊)匹配,除非字符串少于5人物;否则,将包含 regular expression 通过 grep 进行匹配。如果 FALSE ,则不使用近似匹配。否则,可以给出一个数字或一个列表,指定近似匹配的最大距离,请参阅 agrep 文档中的参数 max.distance

use_UTF8

逻辑:结果应该以 UTF-8 编码给出吗?还将 agrep 中的正则表达式的含义更改为 Perl 正则表达式。

types

列出要搜索的文档类型的字符向量。条目必须是 "vignette" "help""demo" 的缩写。结果将按指定的顺序呈现。

field

要搜索的 fields 的单个值。

细节

安装软件包后,预构建的 help.search 索引将序列化为‘hsearch.rds' 在里面 '’目录(前提是该包有任何帮助页面)。小插图也被索引在‘元/vignette.rds' 文件。这些文件用于通过以下方式创建帮助搜索数据库hsearch_db.

参数 aproposwhatis 的作用类似于同名的 Unix 命令。

使用agrep = FALSE 搜索将比默认搜索快几倍(一旦数据库建立)。然而,近似搜索应该足够快(大约一秒,安装了 5000 个软件包)。

如果可能,帮助数据库将保存在内存中,以供会话中的后续调用使用。

请注意,当前不显示匹配帮助文件中的别名。

? 一样,在 ?? 中,模式可以以包名称为前缀,后跟 ::::: 以将搜索限制为该包。

对于帮助文件,‘⁠\关键字⁠' 不属于文件'中列出的标准关键字的条目KEYWORDS' 在里面R文档目录被视为概念。对于不同于‘的标准关键字条目⁠内部⁠',文件'中的相应说明KEYWORDS’也被视为概念。全部 '⁠\概念⁠’ 条目用作概念。

小插图的搜索方式如下。这"name""alias"都是小插图文件名的基础,并且"concept"条目取自‘⁠\VignetteKeyword⁠’条目。插图不使用帮助系统进行分类"keyword"分类。演示的处理方式与小插图类似,但没有"concept"搜索。

结果在类的列表对象中返回"hsearch",它有一个打印方法,可以很好地格式化查询结果。该机制是实验性的,可能会在未来版本中发生变化R.

在 macOS 上的 R.app 中,这将显示一个带有可选项目的浏览器。退出此浏览器时,所选项目的帮助页面将显示在单独的帮助窗口中。

类的内部格式没有记录并且可能会发生变化。

例子

help.search("linear models")    # In case you forgot how to fit linear
                                # models
help.search("non-existent topic")

??utils::help  # All the topics matching "help" in the utils package


help.search("print")            # All help pages with topics or title
                                # matching 'print'
help.search(apropos = "print")  # The same

help.search(keyword = "hplot")  # All help pages documenting high-level
                                # plots.
file.show(file.path(R.home("doc"), "KEYWORDS"))  # show all keywords

## Help pages with documented topics starting with 'try'.
help.search("\\btry", fields = "alias")

也可以看看

hsearch_db 了解有关所使用的帮助搜索数据库以及检查可用概念和关键字的实用程序的更多信息。

help;help.start用于启动超文本(当前为 HTML)版本R的在线文档,它提供了类似的搜索机制。

RSiteSearch访问 on-line 搜索R资源。

apropos 使用正则表达式并有很好的示例。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Search the Help System。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。