首页 > 解决方案 > R roxygen2:不在列表中显示函数

问题描述

这个问题是关于使用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 中的函数。

标签: rr-packagecranroxygen2

解决方案


@keywords internal您可以通过添加到 roxygen 注释来禁用在包手册中列出的函数(参见例如R packages的Object 文档部分),但正如 Hong Ooi 所提到的,正确的方法可能是弃用(参见发布包部分R 包)。my.function


推荐阅读