R roxygen2:不在列表中显示功能

R roxygen2: Do not show function in list

这个问题是关于使用 roxygen2 而不是关于如何重写函数。

我正在使用 roxygen2 作为 CRAN 包,我正在努力实现以下目标:

有一个名为 my.function 的函数,我想将其函数名称替换为 my_function

我想逐步做到这一点 - 所以一段时间内两个函数名称都可用。

作为第一步,我想要以下内容:

  1. 如果用户显式调用 ?my.function,他们应该查看 my.function 函数的文档(或 my_function 的文档)

  2. 但是如果用户调用help(package="myPackage") my.function 则不会出现在函数列表中

背景是,如果用户明确搜索旧函数名称,他们仍然会找到它。但是,如果他们只是一般地搜索可用功能(因为它们是包中的新功能),他们将只能找到新名称。

我该怎么做?

我正在试验以下 roxygen 标签的组合:

@noRd
@alias
@describeIn
@rdname

但是我没能达到我想要的结果。我特别询问 roxgen2 文档部分,而不是一般覆盖 R 中的函数。

您可以通过在 roxygen 注释中添加 @keywords internal 来禁止函数在包手册中列出(例如,参见 R packages), but as mentioned by Hong Ooi the proper way is probably to deprecate my.function (see the Releasing a package section of R packages 对象文档 部分).