【问题标题】:In R, how do I set an S4 class based on another object's class在 R 中,如何根据另一个对象的类设置 S4 类
【发布时间】:2011-01-22 11:59:32
【问题描述】:

我需要从 Bioconductor 的 ShortRead 库中创建一个 ShortReadQ 类型的对象。

ShortReadQ 'signature(sread = "DNAStringSet", quality =
          "QualityScore", id = "BStringSet")'

质量槽需要是一个继承自 QualityScore 的对象,我可以很容易地从另一个我希望模拟的 ShortReadQ 对象中确定它。

> class(quality(anotherObject))
[1] "SFastqQuality"
attr(,"package")
[1] "ShortRead"

在构造函数参数中使用该信息(“SFastqQuality”)的最佳方式是什么?

newObject<-ShortReadQ(sread=...,
             quality=SFastqQuality(...), 
             id=...)

【问题讨论】:

  • 我不明白这个问题。您可能想进一步澄清您的问题,或尝试使用 bioconductor 帮助:bioconductor.org/docs/postingGuide.html
  • 我想获取给定对象的类名并在新对象的构造函数中使用它。最好的方法是什么?

标签: r s4 bioconductor


【解决方案1】:

这是你想要的吗?

quality = new(class(old.quality.obj)[[1]]))

【讨论】:

    【解决方案2】:

    您可能需要 get 函数:

    a <- get(class(object))
    a(...)
    

    【讨论】:

      【解决方案3】:

      感谢您的回复。他们引导我找到一个可行的解决方案

      newObject<-ShortReadQ(sread=...,
                   quality=new(Class=class(quality(anotherObject)),theFirstParameter=...), 
                   id=...)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多