2017-08-04 30 views
6

大多數R的幫助頁面旨在提供特定命令的文檔,並且如果您知道命令並試圖找出如何使用它,可以很容易找到。但是,有許多幫助頁面並不主要與單個命令相關,而是涉及影響許多單個命令的編程工具或技術,以及頁面名稱不是任何命令的名稱。示例包括「正則表達式」和「連接」,「內部通用函數」等的幫助頁面。尋找沒有爲特定命令命名的R幫助頁面

我擔心我應該知道的事情記錄在這套幫助頁面的某個地方,我不知道該如何找到。是否有已發佈的我可以探索的頁面列表?或者有沒有使用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」下面,該頁面必須代表其他五個功能。但這意味着還有五個頁面與特定功能沒有關聯,但有其他內容。我希望有一些機械的方法可以將功能匹配到他們的幫助頁面,併產生一個完整的剩餘頁面列表。這不會那麼容易。

此外,根據以下建議四處探查,導致我找到了33個與基本和推薦軟件包相關的小插曲,其中我一般不知道。我認爲很難在這些小插圖和與特定命令無關的幫助頁面之間畫出一個概念性的界限,如上面描述的funprog幫助頁面。

+1

如果目前尚不可用,SO列出此類幫助頁面的社區維基將是[r-faq]的一個很好的補充。 – lmo

回答

2

help.search可能,呃,幫助。例如,help.search("regex")給出了與regex相關的幫助文件的列表。它可以支持像help.search("opti*")這樣的正則表達式,或者您可以使用keyword參數根據主題獲取幫助頁面,例如help.search(keyword="array")。您可以使用file.show(paste0(R.home("doc"), "/KEYWORDS"))獲取R幫助關鍵字列表。

當然,這個功能與您使用的軟件包的文檔一樣好。如果軟件包開發者沒有在他們的文檔中指定關鍵字,您將無法通過keyword參數找到您要查找的內容。

3

嘗試help.start()並探索它爲您提供的鏈接。

另請嘗試help(package = base)以及其他開箱即用的軟件包,包括stats,graphics,grDevices,utils,datasets和methods。

+0

哦,這很好。點擊「搜索引擎和關鍵字」會出現一個大列表和一個小搜索欄。基本上是'help.search'的HTML版本。 – mikeck