问题标签 [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.
oop - 类槽与初始化签名不匹配
考虑以下 S4 类:
它可以通过以下方式实例化:
到现在为止还挺好。但是,当我尝试对 Foo 进行子类化时,出现错误。
就个人而言,我更喜欢使用显式参数来实例化类 Foo 因为代码更...嗯,显式。然而,这似乎是不可能的,不是吗?看起来 的签名initialize
必须与该类具有的插槽匹配,否则这是一个等待发生的问题。我错了吗?
r - R:类元数据位置
我有一个与在 R 中创建 S4 类有关的问题。根据手册,“setClass”函数有一个命名属性“where”,它定义了创建的类的元数据应该存储在哪里。
但是,如果我执行以下操作
我可以删除 en 使用
并且我仍然能够使用该课程,例如
这是为什么?
提前致谢,
斯文
r - 为什么不能将“S4”类型强制为“整数”类型的向量?
谁能告诉我为什么会收到此错误:
Error in as.integer(tm) : cannot coerce type 'S4' to vector of type 'integer
?
我一直在搜索互联网,但无法解决我的问题。
}
r - R并行S4类集群错误
我在获取一些代码以使用 R 中的并行包时遇到问题。我使用的是 R 2.15。
这是一个简化的示例...我有一个文件“animal.R”,其中包含以下内容:
然后,在我的 R 终端中,我运行:
启动两个节点的本地集群:
告诉集群节点有关 Animal 类的信息:
然后在集群上运行一些代码:
停止集群:
对 parSapply 的第一次调用按预期工作,但第二次产生此错误:
有什么想法吗?为什么第二次调用 parSapply 不起作用?
r - 测试 S4 对象是否为实例
如何测试对象是否是 S4 类的实例(不确定这是否是正确的术语)?但是,我知道该函数isS4
,这对于类定义等也返回 true。例如:
trajobject
在这种情况下,我只对包含数据的对象感兴趣;在方法或类定义中没有那么多。是否有可用于测试 S4 对象是否为实际对象的本机函数?即当使用print(object)
输出开始时:
“foo”类的对象.....
oop - 如何为 S4 类定义子集运算符?
我无法找出为 S4 类定义 、 和子集运算符[
的$
正确方法。[[
谁能为我提供一个为 S4 类定义这三个的基本示例?
r - setClass 使表示为任何类
有什么方法可以让我的一个班级成为任何班级吗?
即类似的东西
setClass("myClass", 表示(A="any"))
我试过“S4”,但这不起作用
r - 典型公式槽
我正在尝试使用类型公式的插槽。但公式不是基本数据类型。我该怎么做才能创建一个插槽来存储公式之类的对象。还是有意禁止将一般 S3 对象存储为插槽?如果有意使用 S4 类型的插槽,如何将 S3 类公式转换为 S4 类?
r - R-继承的数字方法中用于分块数据的 S4 类将不起作用
我想在 R 中创建一个 S4 类,它允许我从云中访问大型数据集(以块的形式)(类似于 ff 包的目标)。现在我正在使用一个名为“range.vec”的玩具示例(我还不想处理互联网访问),它存储了一个数字序列,如下所示:
我希望这个类从“numeric”继承方法,但我希望它在整个向量上使用这些方法,而不仅仅是我存储的块。例如,我不想为'mean'定义我自己的方法,但我希望'mean'通过使用length()、'['、'[ [' 和我定义的 el() 函数。我还定义了一个分块函数:
当我尝试调用像“mean”这样的方法时,该函数会正确继承,并访问我的长度函数,但返回 NA 因为我没有任何数据存储在 .Data 插槽中。有没有一种方法可以使用 .Data 插槽来指向我的分块函数,或者告诉类在不自己定义每个方法的情况下分块数字方法?如果可以的话,我会尽量避免使用 C 进行编码。任何建议都会非常有帮助!
r - 'show' 是一个普通的 S4 通用函数吗?
我正在尝试为我的类创建一个方法,该方法继承自 data.frame。我最初希望也能从 data.frame 继承“show”方法,但我也可以自己编写。我定义了我的类和“显示”方法如下:
当我show
在 R 控制台中输入时,它会打印出:
从包“methods”定义的“show”的标准泛型
所以看起来我不需要自己使用 StandardGeneric() 将它变成泛型。但是当我运行我的setMethod("show", signature(x="SCvec"), function(x) print(x))
线路时,我得到了错误
我已经定义了这个方法,就像我定义任何其他方法一样。为什么这个方法定义不起作用?“显示”与其他通用功能不同吗?