tl;我的问题的博士版本

如果要导入软件包,是否必须手动将import()伪指令写入NAMESPACE文件?即使在我的描述中将roxygen2列为“Imports:”,roxygen2似乎也不会为我这样做。

完整版

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

我使用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来反射(reflect)我指定的包应导入我的DESCRIPTION。

最佳答案

在我的评论中,如果您想为namespace的包/函数自动添加import指令,可以通过将@imports package@importFrom package function行添加到函数的roxygen2文档标题中来实现。

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

09-05 14:50
查看更多