s4

    9热度

    1回答

    如果给定对象x,是否有方法来分类它是否为S3或S4(或“other”)?我已经看过is.object()和isS4(),并且可以识别某物是否是对象,是否是S4对象(或不是)。但是,在我看来,S3对象并不是所有不是S4对象的对象的补充。 因此,如何以编程方式完成这些分配? 下面是一些例子是我的错误,从帮助采取is.object(): a = as.factor(1:3) is.object(a)

    11热度

    2回答

    我试图说服S4方法使用表达式作为参数,但我总是得到一个返回错误。 setGeneric('myfun',function(x,y)standardGeneric('myfun')) setMethod('myfun',c('data.frame','expression'), function(x,y) transform(x,y)) 如果我现在尝试:这说明了一点什么,我试图

    16热度

    3回答

    在它下面发布了一个小例子,我想在这个例子中为 写一个S4类的“[”方法。有人知道如何正确记录通用“[”使用roxygen和S4的方法? 建筑后检查包裹时会收到警告(请参阅下文)。从包检查 #' An S4 class that stores a string. #' @slot a contains a string #' @export setClass("testClass",

    4热度

    2回答

    我从S4类定义中识别出一个来自较旧包的类时遇到了一些麻烦。我不断收到错误 Error in makePrototypeFromClassDef(properties, ClassDef, immediate, where) : in making the prototype for class "Tsvmm" elements of the prototype failed to

    3热度

    1回答

    我是新手。我正在尝试使用S4课程。在我的一些设置方法中,我想要输入一个值并测试它是否有效。如果它是有效的,我想分配它。如果它无效,我想生成一个可以测试的警告。下面是一个简单的例子: > thisFoo<-new("foo", ind = 2) > thisFoo An object of class "foo" Slot "ind": [1] 2 > setInd(thisFoo)<

    22热度

    6回答

    哪个R包可以很好地使用S4类?我正在寻找适当使用S4的软件包(即,当潜在问题需要的复杂性时),写得很好并且有详细记录(以便您可以阅读代码并了解正在发生的事情)。 我很感兴趣,因为我很快就会教S4,并且我想指出学生在实践中的好例子,以便他们可以阅读代码以帮助他们学习。

    0热度

    1回答

    我需要编写一个同时更新对象并返回值的方法。我想知道在S4课程中是否有办法做到这一点。上下文是我正在尝试编写一个S4类来生成一个列表,其中的每个元素只有在知道私钥时才能被访问。为此,我需要一个方法getNewSlot,它同时更新列表和密钥列表的长度并返回索引密钥对。代码如下: setClass("ProtectedRObjectList", representation(objectLis

    3热度

    2回答

    我试图为foo类定义新的data方法。我foo对象遵循以下结构: setClass(Class = "foo", representation = representation( data = "data.frame", id = "character", wl = "numeric" ) ) 的data方法我试图创建实际上是在存取@da

    36热度

    3回答

    由于我经常遇到需要使用S4编程来进行概述的情况,因此我已经收集了很多有关S4对象,方法和编程的资源。我把它们列在这里作为参考。请添加您自己的来源。 在网络上 The methods help files:从包装方法中,很多必要的信息,可以发现 S4 classes in 15 pages帮助文件:简短的介绍与S4对象编程。 How S4 methods work:关于底层机制的更多解释。 Not

    2热度

    1回答

    我有一个超类fb的类层次结构,其中没有对象应该存在(我试过虚拟类,但遇到了无法从虚拟类初始化对象的问题)。此外,我有两个子类(foo,bar)具有相同的插槽。现在我想建立一个新的对象,使用初始化方法返回基于某个值的一个子类的对象超: setClass("fb", representation(x = "numeric")) setClass("foo", contains = "fb") s