S4オブジェクトを使用するには、どのようにしてS3メソッドを取得しますか?

StackOverflow https://stackoverflow.com/questions/5913083

  •  29-10-2019
  •  | 
  •  

質問

私は一緒に仕事をしたいS3方法を書いています どれか S4オブジェクトを含むRオブジェクト。

私が最初に理解していないことは、S4クラスがS4ベースクラスに由来していないように見えるので、与えられたことです f <- function(x) UseMethod("f") 私はただ宣言することはできません f.S4 派遣方法とすべてのS4オブジェクトをピックアップしてもらいます。 (あなたがいれば unclass S4オブジェクト、クラスが与えられているようです S4。)ディスパッチをどのように管理する必要がありますか?

これらのS4オブジェクトに対処する最も簡単な方法は、それらをリストに変換することだと思われます。不運にも、 as.list エラーをスローします(「このS4クラスをベクトルに強制する方法はありません」)。

これは私のテストS4オブジェクトです:

library(gWidgetstcltk)
win <- gwindow()

関数 S3PartS3Class の中に methods パッケージは有望に見えましたが、私がそれらを使用すると、両方ともエラーを投げます win. 。質問2は次のとおりです。S4オブジェクトをリストに変換する一般的な方法はありますか?

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top