Я пишу пакет, в котором я создаю объект класса c("foo", "list")
(который в основном является списком).Я пытаюсь добавить пользовательский метод as.numeric()
:
#' @method as.numeric foo
#' @export
as.numeric.foo <- function(x, ...){
return(x$bar)
}
Однако, когда я делаю as.numeric(foo)
, он выдает ошибки:
Error: (list) object cannot be coerced to type 'double'
Как будто этоиспользуется as.numeric.list
вместо as.numeric.foo
.
Когда я запускаю methods("as.numeric")
, as.numeric.foo*
правильно регистрируется ...
Как заставить выбор правильного метода?