在我的包中,我想TheBaseClass
从贡献的包中子类化一个类(所以它不在我的范围内)。有一个用于创建此类对象的函数。这是该代码的最小示例。
setClass("TheBaseClass", representation(a="numeric"))
initBase <- function() new("TheBaseClass", a=1) # in reality more complex
现在我想简单地initBase
用作我的子类的构造函数,但我不知道如何设置新类
setClass("MyInheritedClass", contains="TheBaseClass")
initInher <- function() {
res <- initBase()
class(res) <- "MyInheritedClass" # this does not work for S4
}
如何更改最后一行以使其正常工作?复制和粘贴该initBase
功能不是一种选择,因为它涉及.C
调用。我读到了setIs
,但这似乎不是正确的功能。
任何提示表示赞赏!