2017-01-30 67 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 _...预先加载文件。 –