我想在 R 中定义一个 S4 类。其中一个插槽应包含coda
包中定义的mcmc
对象。我尝试了以下方法:
library("coda")
setClass(Class = "myClass", representation = representation(var = "mcmc"))
但这会导致警告:
类"myClass"定义中未定义的插槽类:var(class "mcmc")
定义稍后不起作用,并引发错误消息,var
因为它有一个"未定义的类"。
如何告诉 setClass
命令在哪里查找mcmc
对象的定义?
我相信
这是因为mcmc
是一个S3类,而不是一个正式的S4
类。 您需要使用 setOldClass
将S3
注册为正式定义的类。
setOldClass("mcmc")
setClass(Class = "myClass", representation = representation(var = "mcmc"))