【问题标题】:Example of Using an S3 Class in a S4 Object在 S4 对象中使用 S3 类的示例
【发布时间】:2012-01-30 16:49:22
【问题描述】:

我想包含一个 RODBC 连接作为 S4 对象的一部分。看起来 RODBC 是 S3。例如:

setClass(
  Class="Node",
  representation=representation(
    nodeName = "character",
    connection = "RODBC"
  )                    
)

抛出undefined slot classes。看起来我想使用setOldClass,但我无法弄清楚如何使用它。假设我确实想要 setOldClass,我将如何使用 setOldClass 以便我可以将我的 RODBC 连接作为插槽包含到我的 Node 类中?

【问题讨论】:

  • 是不是很简单:setOldCass("RODBC") 然后就是我上面的内容?如果是这样我觉得有点害羞......
  • 是的,setOldClass("RODBC") 就是你所需要的。

标签: r methods s4


【解决方案1】:

虽然这个函数的文档非常复杂,但如果你需要做的只是将类包含在一个槽中,它很简单:

setOldClass("RODBC")

setClass(
  Class="Node",
  representation=representation(
    nodeName = "character",
    connection = "RODBC"
  )                    
)

这也是您将用于参考类的内容。

【讨论】:

  • 当我使用 roxygen2 记录它时它不起作用。如果我将setOldClass("RODBC") 放入一个文件中。检查时会出现“包中 S3 类“dist”的规范似乎等同于包中的一个“graph”:没有为这个类打开重复的类定义。”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多