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
包