S4オブジェクトを含む任意のRオブジェクトで動作するS3メソッドを作成しています。
私が最初に理解していないのは、S4クラスがS4基本クラスから派生しているようには見えないため、ディスパッチメソッドをf <- function(x) UseMethod("f")
宣言してすべてのS4オブジェクトを取得させることはできないということです。f.S4
(unclass
S4オブジェクトの場合、クラスが指定されているように見えますS4
。)ディスパッチをどのように管理する必要がありますか?
これらのS4オブジェクトを処理する最も簡単な方法は、それらをリストに変換することだと思われます。残念ながら、as.list
エラーがスローされます(「このS4クラスをベクターに強制変換するメソッドはありません」)。
これは私のテストS4オブジェクトです:
library(gWidgetstcltk)
win <- gwindow()
関数S3Part
とパッケージは有望に見えましたが、で使用すると両方ともエラーが発生しS3Class
ます。したがって、質問2は次のとおりです。S4オブジェクトをリストに変換する一般的な方法はありますか?methods
win