如果我想导入包,是否必须手动将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以反映我指定的包应该在我的描述中导入。
答案 0 :(得分:42)
扩展我的评论,如果您想为namespace
的软件包/函数自动添加import
指令,可以添加@imports package
或@importFrom package function
行到函数的roxygen2
文档标题。
但是,正如@hadley指出的那样,它只会修改NAMESPACE
,但不会影响包DESCRIPTION