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 に答える