递归文档R包

时间:2017-01-30 09:45:26

标签: r

我正试图用RStudio构建我的第一个包。

我已经有一个包含R文件的项目,我只是改变了项目布局:

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

我的说明文件包含以下文字:

Package: my-package
Title: Package title
Version: 0.0.0.9000
Authors@R: person("Ben",
  "Me",
  email = "my@email.com",
  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 / Document功能时,它会说:

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

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

但是手册页和NAMESPACE文件仍为空。

如果我构建并重新加载项目,我会收到No man pages found in package消息。

所以我猜文档命令没有正确应用。如果我将带有注释的R脚本直接放在R文件夹的根目录下,它会找到它。有没有办法让RStudio以递归的方式遍历我的所有代码文件夹,或者我应该将所有文件放在R文件夹的根目录下(这对来自Java世界的人来说很麻烦......)?

1 个答案:

答案 0 :(得分:1)

R documentation表示只允许以下文件夹(并具有自己的功能):

  

man子目录可能包含一个名为 macros 的子目录;这将包含用户定义的Rd宏的源。 (请参阅用户定义的宏。)这些使用Rd格式,但可能不包含宏定义,注释和空格。

     

R和man子目录可能包含名为 unix windows 的特定于操作系统的子目录。