Я пытаюсь определить новый метод data
для класса foo
. Мои foo
объекты имеют следующую структуру:
setClass(Class = "foo",
representation = representation(
data = "data.frame",
id = "character",
wl = "numeric"
)
)
Метод data
, который я пытаюсь создать, фактически обращается к содержимому слота @data
:
setMethod("data", "foo",
function(object)
object@data
)
Я просматривал раздел 7.1 руководства по написанию расширений R, но он касается только классов S3. Я также посмотрел на этот пост , но безуспешно:
setGeneric("data", function(object, ...) standardGeneric('data'))
setMethod("data", "ANY", utils::data)
setMethod("data", "foo",
function(object)
object@data
)
При загрузке пакета:
> data(mtcars)
Error in function (classes, fdef, mtable) :
unable to find an inherited method for function "data", for signature "data.frame"