哪些包很好地利用了S4对象?

had*_*ley 24 r s4

哪些R包可以很好地利用S4类?我正在寻找适当使用S4的软件包(即当底层问题的复杂性需要时),编写得很好并且记录良好(这样你就可以阅读代码并了解正在发生的事情).

我很感兴趣,因为我很快就会教S4,我想让学生在实践中找到很好的例子,这样他们就可以阅读代码来帮助他们学习.

Dir*_*tel 11

再想一想,也许Matrix和/或lme4?Matrix通过稀疏矩阵的有效表示做了很多诡计,因此这可能是一个值得(虽然可能很重)的例子.

另外,鉴于所有的BioConductor都是在S4中完成的,其中一些肯定会比平均水平更好:)我相信马丁摩根将会有很好的例子.

  • 好的例子很难得到,尤其是.用于教学.IRanges是最复杂但最复杂的.我的ShortRead和Rsamtools软件包都是出于好意而开始的.ExpressionSet类在许多包(例如,oligo)中被重用/扩展,但具有一些"不寻常"的实现/文档.[最近的课程](http://bioconductor.org/help/course-materials/2011/AdvancedRFeb2011Seattle/)包括幻灯片和演示StudentGWAS包,它实现了玩具和真实之间的东西.EBImage有一个单独的类,适合有趣的演示(`example(Image)`). (8认同)

csg*_*pie 5

这并不完全回答你的问题,但....

  • 果壳中的R为a开发了一个S4类timeseries object,然后将其与S3表示进行比较.这是S3和S4之间差异的一个非常好的例子(没有过于复杂或太简单).
  • 生物信息学的R编程简要讨论了ExpressionSetset对象.

关于使用Bioconductor软件包,您可能会发现要完全理解代码 - 甚至只是为了开始 - 您将需要对生物学有一个合理的了解.我认为这同样适用于复杂的统计包; 你需要对所发生的事情有一个模糊的概念,以了解代码结构背后的原因.