如何使用 roxygen 导出不以字母开头的函数?

How to export functions starting not whith a letter using roxygen?

我有一个关于 的跟进问题。假设我想要一个自己的 + 函数用于我的 class expo。在我的正常 R 会话中,以下工作完美

'+.expo' <- function(a, b) a ^ b
r <- 2; class(r) <- "expo"
s <- 3; class(s) <- "expo"
r + s # gives 8

但是 运行 devtools::document() 给了我 Skipping invalid path: .expo.Rd 消息。如果我理解 正确,'+.expo' 是函数的无效名称,因为每个函数都必须以(小写或大写)字母开头。现在我想知道 ggplot2 怎么能提供一个函数 '+.gg'?更重要的是:我的包如何提供特定于 class 的 + 功能?

R 允许函数以其他字母开头,但 roxygen 默认情况下不允许。但是您可以使用参数 @rdname 为此类函数提供文档中使用的替代名称。因此,您的 .R 文件可能看起来像

#' @param a first object
#' @param b second object
#' @return exponential result
#' @export
#' @rdname expo-add
'+.expo' <- function(a, b) a ^ b

可以找到 .R-提到的 ggplot2 函数 '+.gg' 的文件 here