Ich schreibe eine S3-Methode, mit der ich arbeiten möchte jede R-Objekt, einschließlich S4-Objekte.
Das erste, was ich nicht verstehe, ist, dass S4-Klassen nicht von einer S4-Basisklasse abgeleitet zu sein scheinen, so gegeben f <- function(x) UseMethod("f")
Ich kann nicht einfach eine Erklärung abgeben f.S4
Dispatch-Methode und lässt sie alle S4-Objekte abholen. (Obwohl, wenn Sie unclass
ein S4-Objekt, so scheint es doch die Klasse S4
.) Wie sollte ich die Abfertigung verwalten?
Der einfachste Weg, mit diesen S4-Objekten umzugehen, scheint darin zu bestehen, sie in Listen umzuwandeln. Leider, as.list
wirft einen Fehler ("keine Methode, um diese S4-Klasse in einen Vektor zu zwingen").
Dies ist mein S4-Testobjekt:
library(gWidgetstcltk)
win <- gwindow()
Die Funktionen S3Part
y S3Class
im methods
Paket sah vielversprechend aus, aber beide werfen Fehler, wenn ich sie auf win
. Frage 2 lautet also: Gibt es eine allgemeine Möglichkeit, S4-Objekte in Listen umzuwandeln?