我正在编写一个r软件包,使用roxygen2进行文档编写。我在记录S4方法时遇到了一些问题。我已经定义了一个通用的s4方法(例如
任何帮助都将不胜感激,
alex
myGeneric
),并且实现了几个方法。
问题:有没有一种自动记录所有通用方法的方法?
手动解决方案是为每种方法添加以下两行代码(这是我的虚拟示例中的第一个方法):
##' @rdname myGeneric-methods
##' @aliases myGeneric,numeric,numeric,missing-method
由于我使用了很多方法,因此我不得不添加很多内容来满足R CMD检查。
我在Hadley的《Advanced R》中读到关于文档化S4方法这里的内容,其中提到可以使用@genericMethods:
如果您想要自动列出为泛型实现的所有方法,请在泛型文档中使用@genericMethods。
我认为这在roxygen2
中没有实现,或者是用另一个名称实现的。我找到的关于@genericMethods
标签的唯一信息是在roxygen3 github 这里,但该信息已被停止(?)。
这只是一个虚拟的例子,我仅记录通用信息,并希望自动列出所有实现的方法:
##' @param object An object
##' @param data Numeric vector or data.frame
##' @param Fun Function. Default function is \code{sum}
##' @param ... Extra named arguments passed to FUN
##' @docType methods
##' @export
setGeneric("myGeneric", function(object, data, FUN, ...)
{standardGeneric ("myGeneric")} )
setMethod("myGeneric", c("numeric", "numeric", "missing"),
function(object, data,...) {
myGeneric(object, data, sum,...)
})
setMethod("myGeneric", c("numeric", "data.frame", "missing"),
function(object, data,...) {
myGeneric(object, as.vector(unlist(data), sum,...)
})
setMethod("myGeneric", c("numeric", "numeric", "function"),
function(object, data, FUN,...) {
## Do something
})
任何帮助都将不胜感激,
alex
@genericMethods
后会有)。相反,我在所有特定方法前面使用#' @describeIn myGeneric
。这并不完全回答你的问题,但我认为这是目前实现它的唯一方法。 - jomuller