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