setGeneric("median")
创建一个与 stats::median 具有相同签名的 S4 泛型
> stats::median
function (x, na.rm = FALSE)
UseMethod("median")
<environment: namespace:stats>
所以你可以写方法
median.Foo <- function(x, na.rm=FALSE) {}
setMethod(median, "Foo", median.Foo)
我认为包裹检查消息将由
setGeneric("median", function(arg1, arg2, ...) standardGeneric("median"))
然后在你写的时候。但这可能是个坏主意,因为现在 S3 方法被您的函数所掩盖
> median(1:5)
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function 'median' for signature '"integer"'
我认为您坚持使用默认参数或修改后的函数名称。您帖子的标题说Median
R 区分大小写......但这也是一个坏主意。