我正在尝试使用类型公式的插槽。但公式不是基本数据类型。我该怎么做才能创建一个槽来存储像公式这样的对象。或者是否有意禁止将一般S3对象存储为插槽?如果有意使用S4类型的插槽,如何将S3类公式转换为S4类?
答案 0 :(得分:2)
似乎对我有用:
setClass("form", representation(f="formula"))
myForm <- new("form",f=y~x)
myForm
An object of class "form"
Slot "f":
y ~ x
class(myForm@f)
[1] "formula"
答案 1 :(得分:1)
如果您在调用new
时使用命名参数,也许会有所帮助。支持S4类作为插槽。
setClass(Class = "B", representation = representation(var1 = "character"))
setClass(Class = "A", representation = representation(var1 = "B"))
b<-new("B",var1="b")
a<-new("A",var1=b)
答案 2 :(得分:0)
我想使用像
这样的机制 class B{
int varb=0;
}
class A{
B classvar;
A(B var) classvar=var;
}
b=new B();
a=new A(b);
目前我是这样做的
setClass(Class = "A",
representation = representation(var1 = "list")
)
setClass(Class = "B",
representation = representation(var1 = "character")
)
b<-new("B","b")
a<-new("A",list(b))
将S4对象保存为类变量。