我有许多函数,它们具有不同参数的相关方法,我想在泛型中一起记录。是否有一种标准方法可以通过S4泛型将通过省略号传递的参数记录到不同的方法中?理想情况下,我想将传递给不同方法的参数组合在一起以获得最大可读性。
以下是我目前根据Documenting multiple functions in the same file中的内容尝试执行此操作的方式:
#' A class
#' @export
setClass("A", slots = c(a = 'numeric'))
#' B class
#' @export
setClass("B", slots = c(b = 'numeric'))
#' foo generic
#'
#' foo generic description
#'
#' @param object The object
#' @param x shared argument
#' @param ... other arguments passed to methods
#' @export
setGeneric("foo", function(object, x, ...) standardGeneric("foo"))
#' foo method A
#'
#' foo method A description
#'
#' @param y method A argument
#' @rdname foo
#' @export
setMethod("foo", "A", function(object, x, y = 1) {NULL})
#' foo method B
#'
#' foo method B description
#'
#' @param z method B argument
#' @rdname foo
#' @export
setMethod("foo", "B", function(object, x, z = 2) {NULL})
结果非常接近我想要的结果,但所有额外的参数都只是在省略号之后被集中在一起。
Usage:
foo(object, x, ...)
## S4 method for signature 'A'
foo(object, x, y = 1)
## S4 method for signature 'B'
foo(object, x, z = 2)
Arguments:
object: The object
x: shared argument
...: other arguments passed to methods
y: method A argument
z: method B argument
有没有办法明确地将参数标记为属于特定方法/类(不仅仅是在描述中写出),类似于使用部分,或者我应该使用完全不同的结构?