roxygen2会自动为“Imports:”包编写NAMESPACE指令吗?

时间:2011-12-22 00:09:47

标签: r roxygen roxygen2

tl;我的问题的博士

如果我想导入包,是否必须手动将import()指令写入我的NAMESPACE文件?似乎roxygen2对我来说不会神奇地做到这一点,即使我在他的描述中将它们列为“Imports:”。

富勒版

这是一个非常愚蠢的问题,但我问,因为答案对我来说并不明显。

我使用roxygen2来处理my R package文档。当我想确保导出函数时,我在其roxygen块中添加了@export标记。随后运行roxygenize()将相应地编写NAMESPACE指令。

但是,my package目前正在导入其他几个:

Depends:
    R (>= 2.13.0),
    ggplot2 (>= 0.8.9)
Imports:
    RColorBrewer,
    plyr,
    gridExtra

虽然roxygen2 重写导出函数的NAMESPACE指令,但它不会自动重写NAMESPACE以反映我指定的包应该在我的描述中导入。

1 个答案:

答案 0 :(得分:42)

扩展我的评论,如果您想为namespace的软件包/函数自动添加import指令,可以添加@imports package@importFrom package function行到函数的roxygen2文档标题。

但是,正如@hadley指出的那样,它只会修改NAMESPACE,但不会影响包DESCRIPTION