【问题标题】:R roxygen2: Do not show function in listR roxygen2:不在列表中显示函数
【发布时间】:2019-06-15 14:07:41
【问题描述】:

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

【问题讨论】:

  • 找不到确切的问题,但我以前见过一个问题。这是另一个:stackoverflow.com/questions/21921304/…
  • 最好的方法是在my.function 中插入对.Deprecated 的调用,这样任何使用它的人都会自动看到它已被弃用,而无需查看帮助。
  • 感谢尼尔森的提示。我编辑了这个问题以使其更清楚 - 问题不是关于函数覆盖 - 而是关于用于创建文档的 roxygen 设置。认为 Joris 的回答和 Hong 的评论应该可以解决我的问题。

标签: r r-package cran roxygen2


【解决方案1】:

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

【讨论】:

  • 谢谢!这正是我正在寻找的答案。也感谢您提供额外的链接。
猜你喜欢
  • 2017-02-16
  • 1970-01-01
  • 2020-05-25
  • 2014-10-23
  • 1970-01-01
  • 2018-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多