27

哪些 R 包充分利用了 S4 类?我正在寻找适当使用 S4 的软件包(即当底层问题的复杂性需要时),编写良好且文档齐全(因此您可以阅读代码并了解正在发生的事情)。

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

4

6 回答 6

13

再考虑一下,也许是Matrix和/或lme4?Matrix 使用稀疏矩阵的有效表示做了很多诡计,所以这可能是一个值得(尽管可能很重)的例子。

否则,鉴于所有BioConductor都是在 S4 中完成的,其中一些肯定会比平均水平要好 :) 我相信 Martin Morgan 会提供很好的例子。

于 2011-03-25T20:19:28.540 回答
6

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

  • R in a Nutshell为 a 开发了一个 S4 类timeseries object,然后将其与 S3 表示进行比较。这是 S3 和 S4 之间差异的一个很好的说明(不过分复杂或过于简单)。
  • 用于生物信息学的 R 编程简要讨论了ExpressionSet集合对象。

关于使用 Bioconductor 软件包,您可能会发现要完全理解代码 - 甚至只是开始使用 - 您必须具备合理的生物学知识。我想这同样适用于复杂的统计数据包;您需要对正在发生的事情有一个模糊的概念,才能理解代码结构背后的原因。

于 2011-03-26T09:51:06.113 回答
4

在上一次 LondonR 会议上,Brandon Whicher 就在他的包 dcemriS4 中使用 S4 类进行了精彩的演讲,用于分析医学研究中的磁共振成像 (MRI)。

他的演讲可以在这里找到: http ://www.londonr.org/Medical%20Image%20Analysis%20using%20S4%20classes%20&%20methods.pdf

包在 CRAN 上: http ://star-www.st-andrews.ac.uk/cran/web/packages/dcemriS4/index.html

于 2011-03-25T19:51:08.070 回答
4

sp和依赖包使用 S4 并且有据可查。R 中空间内容的 Alpha 和 omega。

于 2011-03-26T06:55:15.460 回答
1

我会选择kernlab,它还包含很多 C 代码。

它带有一个方便的小插图,详细介绍了一些 S4 概念。(不过,文档似乎没有使用roxygen,但这不是这里的问题。)

于 2011-04-03T10:20:32.553 回答
0

试图掌握S4系统时,我遇到了一个教育包sequence。类系统的实现在roo同一作者的 repo 中的一组随附幻灯片中进行了说明。尽管使用的示例来自生物统计学,但还是很值得效仿的。

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

于 2014-07-24T14:56:20.933 回答