问题标签 [s4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7205 浏览

r - R 中 S4 对象、方法和编程的来源

由于我经常遇到需要 S4 编程来保持概览的情况,因此我收集了很多关于 S4 对象、方法和编程的资源。我在这里列出了它们作为参考。请添加您自己的来源。

在网上

图书

  • Software for Data Analysis-Programming with R (J. Chambers) :一个经典的,虽然没有在所有地方都得到正面评价,但它包含 S4 的大部分内容
  • 用于生物信息学的 R 编程(R. Gentleman):专门针对与完全基于 S4 的 Bioconductor 合作。但它提供了一个广泛的概述,并且对许多其他人也很有用。

PS:如果有人找到社区复选框,您可以将其设为社区拥有的帖子。不知何故,我再也无法在编辑窗口中找到它了...

0 投票
3 回答
3194 浏览

r - 如何使用 roxygen 正确记录 S4“[”和“[<-”方法?

0 投票
2 回答
551 浏览

class - 从 S4 类定义中的包中识别 S3 (?) 类

从 S4 类定义识别的旧包中获取类时,我遇到了一些麻烦。我不断收到错误

一个可重现的例子:

尝试class(chron(0))时,答案是"dates" "times"。使用is.numeric(chron(0)),答案是TRUE。然而,当我将插槽日期类设置为 时"numeric",我得到同样的错误,但没有警告消息。

我觉得我忽略了一些明显的东西,但我还没有在文档中找到它。任何人任何指针?

PS:我知道这个chron包至少很奇特,但我有充分的理由使用它。另外,其他软件包可能会出现此问题。将此视为一般问题的示例。所以请不要告诉我使用 Date 或 POSIXt 类。这是我现在正在使用的 hack。

0 投票
3 回答
1534 浏览

r - 方法的 S4 缺少参数或 NULL 参数?

有没有办法定义当方法的参数丢失或 NULL时会发生什么?

在下面的示例中,无论我键入foo()还是,我都想调用相同的函数foo(NULL)。当然,我知道我可以有一个方法setMethod("foo","NULL",function(x) foo()) ,但那是代码复制和可能的错误来源。

谢谢!

0 投票
4 回答
33570 浏览

oop - R:什么是老虎机?

有谁知道R中的插槽是什么?

我没有找到它的含义的解释。我得到一个递归定义:“插槽函数返回或设置有关对象的各个插槽的信息”

帮助将不胜感激,谢谢 - Alley

0 投票
1 回答
1476 浏览

r - R中的S4类矩阵

这是上一篇文章的后续问题。

我需要为一个需要一个矩阵和一个值initialize()的 S4 类(名为 )编写一个方法。它应该被定义为一个带有正式参数的函数,并且应该将下三角元素放入对象中。Bandk(x, k)X

任何建议表示赞赏。

0 投票
1 回答
772 浏览

r - S4 类的错误处理

我是这里的新手。我正在尝试使用 S4 类。在我的一些设置方法中,我想取一个输入值并测试它是否有效。如果它是有效的,我想分配它。如果它无效,我想生成一个可以测试的警告。这是一个简单的例子:

当我尝试分配一个字符时,这会生成一条警告消息:

但我希望能够测试分配失败。这样做的好方法是什么?谢谢。

0 投票
6 回答
2150 浏览

r - 哪些包充分利用了 S4 对象?

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

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

0 投票
1 回答
467 浏览

r - 在 S4 类中同时更新对象和返回值

我需要编写一种同时更新对象并返回值的方法。我想知道是否有办法在 S4 课程中做到这一点。这样做的背景是我正在尝试编写一个 S4 类来生成一个列表,只有在知道私钥的情况下才能访问其中的每个元素。为此,我需要一个方法 getNewSlot 来同时更新列表和键列表的长度并返回索引键对。代码如下:

这是此方法的输出。如您所见,代码返回所需的“索引、键”对,但不更新对象。

0 投票
2 回答
15620 浏览

r - 如何在包中显示 S4 函数的源代码?

我使用 R 中的 topGO 包来分析基因富集,代码如下:

我想查看和更改RunTest功能以及更改的GenTable功能ResultTable,但我不知道如何显示功能。有了getAnywhere("GenTable")我没有得到我想要的硬代码。

找到与“GenTable”匹配的单个对象

在以下地方发现

有价值

我怎样才能做到这一点?