2016-06-20 82 views
4

我正在使用devtools構建R包。所有文檔均使用roxygen2構建。對於這些功能這一切都很好,但我怎樣才能爲整個軟件包提供一個幫助頁面,其中列出了所有可用的功能。使用devtools爲R包創建主要幫助頁面(索引)

在其他包總是有每個幫助頁面底部的鏈接,導致索引頁:

Screenshot from dplyr package (exemplary index link)

我怎樣才能建立/鏈路與devtools此索引頁?

編輯:如果我通過「?functionName」訪問幫助頁面,將會有以下輸出打印到控制檯「使用functionName的開發文檔」。從devtools的github倉庫中,我找到了輸出這個輸出的function dev-help.R。在其評論中指出,鏈接不適用於此開發幫助。

Note that this only renders a single documentation file, so that links to other files within the package won't work.

那麼我該如何使用正常的文檔而不是dev-help?

+1

您是否試過[this](http://r-pkgs.had.co.nz/man.html#man-packages)?我們可以在什麼地方看到包裹嗎? –

+0

我認爲這是自動添加的。你試過這個嗎? 使用'devtools :: document(「。」)'。 –

+0

@VincentBonhomme:我已經試過了,它成功構建了一個可以通過「?packageName」訪問的頁面。然而,這並不能解決我們的問題,因爲它不包含所有的功能(如通常的索引頁面),並且沒有鏈接到函數的所有子頁面。該軟件包目前只是我們公司的內部軟件包,因此您可以訪問它。 – Malte

回答

3

找到解決方案。如果你有以下流程:

  1. create()
  2. document()
  3. build()
  4. install.packages()
  5. library(<pkg-name>)

的文件將在R的命名空間中document()加載。因此,稍後?functionName的調用將引用文檔的開發階段,而不是編譯軟件包提供的開發階段。

因此,安裝後創建一個新的R會話就解決了這個問題!

+0

相同的結果做得好@Malte! –

+0

我不能使它與install.packages一起工作,只好使用install。錯誤:...不可用(對於R版本3.4.0) – Ferroao