當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。