使用roxygen2创建R包时如何编辑NAMESPACE文件?
使用roxygen2维护R包NAMESPACE的操作方法
roxygen2的设计目标就是自动管理NAMESPACE文件,因此不建议也无需手动编辑该文件,所有导入、导出声明都通过R脚本中的roxygen注释标签完成,修改后重新生成文档即可自动更新NAMESPACE内容,具体操作如下:
依赖导入操作
- 首先确认你需要导入的包已经添加到
DESCRIPTION文件的Imports字段中 - 如果需要导入整个包的所有函数(例如导入全部ggplot2函数),在任意.R文件的roxygen注释块中添加
@import ggplot2标签 - 如果仅需导入单个函数避免命名空间冲突(例如导入ncdf4的nc_open函数、ggplot2的geom_point函数),添加
@importFrom ncdf4 nc_open、@importFrom ggplot2 geom_point标签即可
每次手动修改roxygen标签后,执行
devtools::document()命令,roxygen2会自动扫描所有R文件的注释标签,重新生成NAMESPACE文件的对应内容,完全不需要手动修改该文件。
示例代码
你可以将全局导入标签统一写在包内任意位置的空注释块中,例如:
#' 包级全局导入声明 #' @keywords internal #' @import ggplot2 #' @importFrom ncdf4 nc_open NULL
执行文档生成命令后,NAMESPACE中会自动生成对应的import(ggplot2)和importFrom(ncdf4, nc_open)行,符合依赖导入的要求。
内容的提问来源于stack exchange,提问作者Reynaldo Senra
相关产品推荐
相关产品推荐

