使用其他包中具有类定义的插槽定义S4类

时间:2016-02-12 17:11:53

标签: r class s4

我想在R中定义一个S4类。其中一个插槽应该包含mcmc包中定义的coda对象。我尝试了以下方法:

library("coda")
setClass(Class = "myClass", representation = representation(var = "mcmc"))

但这会导致警告:

  

“myClass”定义中未定义的槽类:var(class“mcmc”)

类定义稍后不起作用并抛出错误消息,因为var具有“未定义的类”。

如何告诉setClass命令在哪里查找mcmc个对象的定义?

1 个答案:

答案 0 :(得分:0)

我相信这是因为mcmc是一个S3类,而不是一个正式的S4类。您需要使用setOldClassS3注册为正式定义的类。

setOldClass("mcmc")
setClass(Class = "myClass", representation = representation(var = "mcmc"))