2017-01-30 64 views
0

我試圖用RStudio構建我的第一個包。遞歸的文檔R包

我已經有R文件的項目,我只是改變了項目佈局是這樣的:

. 
|-R 
|---File 
|---Physics 
|---Plot 
|---Utils 
|-man 
|-vignettes 
|-DESCRIPTION 
|-NAMESPACE 

我的描述文件包含以下內容:

Package: my-package 
Title: Package title 
Version: 0.0.0.9000 
[email protected]: person("Ben", 
    "Me", 
    email = "[email protected]", 
    role = c("aut", "cre")) 
Description: blabla 
Depends: 
    R (>= 3.3.2) 
License: file LICENSE 
Encoding: UTF-8 
LazyData: true 
VignetteBuilder: knitr 
Suggests: 
    knitr, 
    rmarkdown 
RoxygenNote: 5.0.1 

我所有的函數包含roxygen評論。當我在RStudio使用Build /文檔的功能,它說:

==> devtools::document(roclets=c('rd', 'collate', 'namespace', 'vignette')) 

Updating my-package documentation 
Loading my-package 
Writing NAMESPACE 
Updating vignettes 
Documentation completed 

但手冊頁和空間文件保持爲空。

如果我構建&重新加載項目,我有一個No man pages found in package消息。

所以我猜文檔命令沒有正確應用。如果我將R腳本直接放在R文件夾的根目錄下,它會找到它。有沒有辦法使RStudio遞歸地探索我的所有代碼文件夾,還是應該將所有文件放在R文件夾的根目錄下(這對於來自Java世界的人來說很麻煩......)?只有以下文件夾被允許(並擁有自己的功能)

+0

先嚐試正確的文件夾結構。另外,這不是Rstudio問題。 –

+0

所以正確的文件夾結構是一個扁平的結構? – Ben

回答

1

R documentation狀態:

男人子目錄中可能會包含一個子目錄;這將包含用戶定義的Rd宏的源代碼。 (請參閱用戶定義的宏。)這些使用Rd格式,但可能不包含除宏定義,註釋和空白之外的任何內容。

R和男子子目錄可以包含一個名爲UNIX窗口操作系統特定的子目錄。

+0

好的。這感覺很奇怪。這意味着大包只有一個文件夾中有大量文件。不容易維護恕我直言。 – Ben

+0

@Ben你可以自由地爲這些文件使用一個合理的命名方案。例如,看看像ggplot2這樣的大包是如何做到的:https://github.com/tidyverse/ggplot2/tree/master/R – Roland

+0

@Ben只是用file_,physics_,plot _...預先加載文件。 –