クラスの新しいdata
メソッドを定義しようとしています。foo
私foo
のオブジェクトは次の構造に従います。
setClass(Class = "foo",
representation = representation(
data = "data.frame",
id = "character",
wl = "numeric"
)
)
data
私が作成しようとしているメソッドは、実際にはスロットの内容にアクセスしています@data
:
setMethod("data", "foo",
function(object)
object@data
)
Writing R Extensions マニュアルのセクション 7.1を見てきましたが、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"