S4 отсутствует или NULL аргументы для методов?

Есть ли способ определить, что происходит, когда аргумент метода отсутствует или NULL ?

В приведенном ниже примере я Мне нравится вызывать одну и ту же функцию независимо от того, набираю ли я foo () или foo (NULL) . Конечно, я знаю, что у меня может быть метод setMethod ("foo", "NULL", function (x) foo ()) , но это репликация кода и возможный источник ошибок.

Спасибо !

setGeneric("foo",function(x) standardGeneric("foo"))
setMethod("foo","numeric",function(x) "numeric")
setMethod("foo","NULL",function(x) "NULL")
setMethod("foo","missing",function(x) "missing")

R> foo(1)
[1] "numeric"
R> foo()
[1] "missing"
R> foo(NULL)
[1] "NULL"
6
задан Florian Bw 14 December 2010 в 14:47
поделиться