首页 > 解决方案 > Roxygen:导出导入功能

问题描述

我有一个 R 包变得太大,所以我把它的一个连贯的块分成一个新包。

我想为可能一直依赖这些功能的用户提供一个弃用期,所以我这样做了:

##' Blah blah function
##'
##' Deprecated - use `newpack::blah` instead.
##' @export
blah <- newpack::blah

一个缺点是R CMD CHECK引起的警告newpack::blah现在是这个包中的警告:

Undocumented arguments in documentation object 'blah'
    ‘x’ ‘...’

有什么更好的方法?

标签: rpackageroxygen2

解决方案


由于 R 的深度复制语义,doingblah <- newpack::blah实际上将newpack::blah函数深度复制到当前包中,而不仅仅是通过名称引用它。

不要从一个命名空间复制到另一个命名空间,而是导入blah并重新导出它:

##' Blah blah function
##'
##' Deprecated - use `newpack::blah` instead.
##' @importFrom newpack blah
##' @export blah
##' @name blah
NULL

推荐阅读