Здесь лучшие ответы описывают хороший способ сделать отправку метода для объектов S3 и S4. Однако этот способ работает только тогда, когда оба метода имеют одинаковую сигнатуру.
Есть ли способ создать метод S4 для median
с другой подписью?
Например, следующее не работает:
setGeneric("median")
median.Foo <- function(arg1, arg2, ...){}
setMethod("median", "Foo", median.Foo)
При установке библиотеки возникает ошибка, говорящая о том, что отсутствуют формальные аргументы, x
и na.rm
, которые являются аргументами исходной функции медианы.
Я хотел бы избежать решения в верхней части поста автора.
fn_name.class_name <- function(...) {body}
предназначен для определения функций S3. Прочтите?setMethod
и посмотрите примеры там. - person IRTFM   schedule 26.09.2013setMethod
с третьим аргументом в формеfunction.class". In this case I want a S4 method for
медиана` для классаFoo
иmedian.default
(встроенный метод S3), вызываемый иначе. - person Jon Claus   schedule 26.09.2013