R 哪些软件包充分利用了S4对象?

R 哪些软件包充分利用了S4对象?,r,s4,R,S4,哪些R包充分利用了S4类?我正在寻找适当使用S4(即,当底层问题的复杂性需要时)的软件包,这些软件包编写得很好,并且有很好的文档记录(这样您就可以阅读代码并了解发生了什么) 我很感兴趣,因为我很快就要教S4了,我想给学生们指出一些实践中的好例子,这样他们就可以阅读代码来帮助他们学习。在上一次伦敦会议上,布兰登·惠彻(Brandon Whicher)做了一个精彩的演讲,谈到了在他的软件包dcemriS4中使用S4课程,用于分析磁共振成像(MRI)在医学研究方面 以下是他的演讲: 包装在起重机上:

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


我很感兴趣,因为我很快就要教S4了,我想给学生们指出一些实践中的好例子,这样他们就可以阅读代码来帮助他们学习。

在上一次伦敦会议上,布兰登·惠彻(Brandon Whicher)做了一个精彩的演讲,谈到了在他的软件包dcemriS4中使用S4课程,用于分析磁共振成像(MRI)在医学研究方面

以下是他的演讲:

包装在起重机上:
再考虑一下,也许和/或?矩阵对稀疏矩阵的有效表示进行了大量的欺骗,因此这可能是一个值得(尽管可能很重)的示例


否则,考虑到所有这些都是在S4中完成的,其中一些肯定会比平均水平更好:)我相信Martin Morgan会给出很好的例子。

和依赖包使用S4,并且有很好的文档记录。阿尔法和欧米茄代表R中的空间元素。

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

  • timeseries对象
    开发一个S4类,然后将其与S3表示进行比较。这是S3和S4之间差异的一个很好的说明(不太复杂或太简单)
  • 简要讨论
    ExpressionSet
    set对象
关于使用Bioconductor软件包,您可能会发现,要充分理解代码,甚至只是开始,您必须具备合理的生物学知识。我想这同样适用于复杂的统计数据包;您需要对正在发生的事情有一个模糊的概念,才能理解代码结构背后的原因。

我会选择,它还包括许多C代码


它附带了一个方便,详细介绍了一些S4概念。(虽然它似乎不用于文档,但这不是这里的问题。)

我在一个教育软件包中遇到了一个
S4
系统。同一作者在repo中随附的一组幻灯片中说明了类系统的实现。虽然所使用的例子来自生物统计学,但遵循它是很好的


这是一个很好的学习资源,因为作者仔细对比了不同的对象系统,同时保持软件包的复杂性足以进行学习

很难找到好的例子,尤其是在教学方面。伊朗人是最复杂的,但也最复杂。我的速读和Rsamtools包都是出于良好的课堂意图而开始的。ExpressionSet类在许多软件包(例如,oligo)中重复使用/扩展,但有一些“不寻常”的实现/文档。附带的幻灯片和演示StudentGWAS包实现了玩具和现实之间的一些东西。EBImage只有一个类,可以进行有趣的演示(
example(Image)
)。光栅非常简单(在某种程度上是基于
sp
)。但空间统计数据可能并不适用于所有人。我的意思不是说sp类非常复杂,具有多层继承等(因为它们封装的GIS数据结构的性质)-我认为
sp
是一个很棒的包。