0

我正在尝试使用类型公式的插槽。但公式不是基本数据类型。我该怎么做才能创建一个插槽来存储公式之类的对象。还是有意禁止将一般 S3 对象存储为插槽?如果有意使用 S4 类型的插槽,如何将 S3 类公式转换为 S4 类?

4

3 回答 3

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"
于 2012-06-29T12:01:03.730 回答
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)
于 2012-12-15T01:46:40.130 回答
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 对象。

于 2012-06-30T13:25:22.923 回答