【问题标题】:Define an S4 class with slots that have their class definitions in another package定义一个带有插槽的 S4 类,这些插槽的类定义在另一个包中
【发布时间】:2016-02-12 17:11:53
【问题描述】:

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

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

但这会导致警告:

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

类定义稍后不起作用并引发错误消息,因为var 有一个“未定义的类”。

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

【问题讨论】:

    标签: r class s4


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-08-26
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多